char *member[8];
char *tag;// this points a lot of text. if i print htmtag, it works fine with a few lines of text printing out
for ( int x = 0; x < 8; x++ )
{
member[x] = tag[x+15];
}
printf("member: %s",member);
Run Code Online (Sandbox Code Playgroud)
为什么以上只会打印成员中的第一个字符而不是整个7,如果我在成员[0] /成员[1] /成员[2]上打印,则值存储在那里,但打印下面的内容?
即
member: 1
Run Code Online (Sandbox Code Playgroud)
我想要打印出来
member: 1234567
Run Code Online (Sandbox Code Playgroud)
由于您没有发布足够的代码,以下是猜测:
您的member变量不是char[]a wchar_t[]或MS TCHAR[].这会使member数组的每个元素都大于1个字符,所以当printf把它当作char数组时它会看到'1', '\0', '2', '\0'等等 - 打印第一个1然后停止在0字节上.
会员应声明为:
char member[8];
Run Code Online (Sandbox Code Playgroud)
不
char * member[8];
Run Code Online (Sandbox Code Playgroud)
因为它是一个字符数组,而不是一个char指针数组
| 归档时间: |
|
| 查看次数: |
4444 次 |
| 最近记录: |