如何从char数组中提取字符
我试图从缓冲区中提取char数组,但在提取第一个char数组后停止工作。
char *msg = "1~Message~ILOVEYOUrn2~Message~Doyouloveme?rn3~Message~OfcourseIdo!Not!rn";
char tempbuffer[1024];
char *tbuf;
tbuf = &tempbuffer[0];
/* Start parsing */
while (*msg != ' ') {
while(*msg != 'n') {
while (*msg != 'r') {
*tbuf = *msg;
msg++;
tbuf++;
} /* closing 'r' */
msg++;
tbuf++;
} /* closing 'n' */
*tbuf = ' ';
/* Printout buffer for debugging purposes */
printf("x %sn", tempbuffer);
/* Clear tempbuffer before starting to parse the buffer again */
memset(tempbuffer, 0, sizeof((char) 1024));
} /* closing ' ' */
return 0;
}
printf显示1~Message~ILOVEYOU,它停止工作。
我期待以下输出
1~Message~ILOVEYOU
2~Message~Doyouloveme?
3~Message~OfcourseIdo!NOT!
有任何想法吗?
没有找到相关结果
已邀请:
6 个回复
递劝臼类洪
羔磺
的参数不正确。 更改
至
实际上这里并没有真正需要
。 2:遇到
时,不要递增指针
。 加
前/后
3:在每次迭代开始时将
重置为数组的开头 加
在第一个
循环内。 4:
应为
因为你已经增加了
。 看得出来了
耐钨徒
绊伦欧
妊辽剁茧
为陡土