首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

简单有关问题,请!多谢

2012-03-15 
简单问题,请高手指点!谢谢char*ashortdata[100]我想把a中的数据放到data中,然后处理,然后再放入,一直循

简单问题,请高手指点!谢谢
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;//处理函数
}



[解决办法]
另一个里面贴了代码,这里就负责接分了~

热点排行