我写了一个将字符串拷贝到定长字符数组的函数,如果字符串不够长则补二进制0
请问各位高手,还有什么bug,以及如何改才能获得最高执行效率?int strtoarray(const char* array, unsigned int nSize, const char* strSource)
{
assert(array);
assert(strSource); char* pArray = (char *)array;
char* pString = (char *)strSource; register unsigned int n = 0;
for(; (*strSource != 0) && (n < nSize); n++)
{
*pArray++ = *strSource++;
} if(n < nSize)
{ //长度不足, 数组后面补二进制0
for(; n < nSize; n++)
{
*pArray++ = 0;
}
}
else
{ //长度超出
return 1;
} return 0;
}
请问各位高手,还有什么bug,以及如何改才能获得最高执行效率?int strtoarray(const char* array, unsigned int nSize, const char* strSource)
{
assert(array);
assert(strSource); char* pArray = (char *)array;
char* pString = (char *)strSource; register unsigned int n = 0;
for(; (*strSource != 0) && (n < nSize); n++)
{
*pArray++ = *strSource++;
} if(n < nSize)
{ //长度不足, 数组后面补二进制0
for(; n < nSize; n++)
{
*pArray++ = 0;
}
}
else
{ //长度超出
return 1;
} return 0;
}
解决方案 »
- 紧急求助!关于VC图像处理
- 构造函数的初始化问题
- 为什么我的PPStream放出来的画面色调不对?
- 请问ReadFile能不能读取套接字(socket)上的数据.
- 子类化按钮失败
- 怎样编程考出 IE Cache 中的一个指定文件?
- 各个大哥,帮小弟一下~~~~请问如何用VC++在win2000截获ip数据包
- 大不同--新版MFC与侯先生讲解的不同---第一点--关于m_pFirstClass
- 版内有人使用bcg v22.1的么 关于combobox 自动补全的功能
- 学校实训周,编程能力为0的小弟求助 下面几个错误= =
- *******( 500 分)奇怪的问题:*************************
- 我是初学者提个傻问题,请问VC编程中#pragma once是什么意思?
{
assert(array);
assert(strSource);
assert(nSize);
int n = strlen( strSource );
if( n >= nSize )
{
memcpy( array, strSource, nSize );
return 1;
}
else
{
memcpy( array, strSource, n );
memset( array + n, 0, nSize - n );
}
return 0;
}