旗花面是哪里的:C语言字符串问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/27 22:46:33
假设我定义了一个struct如下:
struct A
{
char aa[8];
char bb[8];
char cc[11];
}A;
另外还有一个字符串char dd=11111|22222,
用strconvertoarray(rqst->data,dd,'|');
把它拆分成dd[0]=11111,dd[1]=22222,
为什么当我使用strcpy(A.aa,dd[0]);strcpy(A.bb,dd[1]);后
A.aa=11111|22222,A.bb=22222?
就是这里的A.aa会赋值不正确呢?
补充下,这是Pro*C程序。

应该是由于dd[0]后面不带 字符串结束符 '\0'。 所以strcpy会一直到找到'\0' 才停下。
strconverttoarray()应该做补上'\0'这项工作的。