首先,我有一个功能,我有unsigned char*
类型存储的标志.例如,Unicode中每个符号Abcdef!?
为[65 0] [98 0] [99 0] [100 0] [101 0] [102 0] [33 0] [63 0]
2个字节.
当我使用for(unsigned char i=0; i<17; i++) printf("%c", pointer[i]);
一切正常时,它显示Abcdef!?
.但是当我使用printf("%s" pointer);
它时,它只给我,A
而不是别的.你能告诉我为什么吗?
因为printf("%s", pointer)
字面意思是:打印每个char
从存储的那个开始pointer
直到'\0'
遇到.
有一个'\0'
后马上'A'
,所以只有第一个字符被打印出来.
归档时间: |
|
查看次数: |
744 次 |
最近记录: |