简单问题,请高手指点!谢谢
char* a;
short data[100];
我想把a中的数据放到data中,然后处理,然后再放入,一直循环到a中全部数据都放入过data中,是用memcpy这个函数吗?怎么做?
主要问题如下:
如何判断a中数据循环结束
如何把char的a放到short的data数组中呢
谢谢各位了。分不够再加.
[解决办法]
想把a中的数据放到data中,然后处理,然后再放入
----------------------------------------
处理是如何处理?是一个char一个char地处理还是一个short一个short地处理?
如何判断a中数据循环结束
------------------------------------
char *p=a+?
...
if(*p== '\0 ')//结束
[解决办法]
看你需要拷贝多少进去
或者结束条件是什么
memcpy是拷贝内容的函数
只要你确定拷贝的地址和长度是没问题的
[解决办法]
如何判断a中数据循环结束
如何把char的a放到short的data数组中呢
______________________________________________
判断循环结束??一个个的字符放吗?那就直接赋值就行了.
如果不是一个个字符放,复制字符串,用memcpy or strncpy都行.
ps:能不能举个简单的例子和说明你最后需要达到的目的..
[解决办法]
char* a;
short data[100];
for (int i = 0; i < 100 && *(a + i); i++)
data[i] = (short)*(a + i);
也就是说,当*(a+i)等于0(此时字符串结束),或者多于100个字符时结束
[解决办法]
a是一个指针,他指向哪里?
[解决办法]
int input(char** src, short* dst, int cnt)
{
int i;
if (!src || !(*src) || !dst)
return -1;
for (i = 0; i < cnt; i++)
{
if ((**src) == '\0 ')
break;
dst[i] = **src;
(*src)++;
}
return i;
}
short ArrB[100];
char* pdata;
......
char* temp = pdata;
while (input(&temp, short, 100) == 100)
{
FUNC;//处理函数
}
[解决办法]
另一个里面贴了代码,这里就负责接分了~