Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打印字符时的printf奇怪行为-LLDB调试器 < P>在为iOS XCODE项目使用静态C++库时,我遇到了Primtf和XCOLDLLDB调试器的奇怪行为,有时我的打印结果“代码> PROTF(“%s”,char *)< /C>是与数字或垃圾字符串联的字符。所附图像本身就说明了这一点。有什么想法吗_C++_Printf_Lldb - Fatal编程技术网

打印字符时的printf奇怪行为-LLDB调试器 < P>在为iOS XCODE项目使用静态C++库时,我遇到了Primtf和XCOLDLLDB调试器的奇怪行为,有时我的打印结果“代码> PROTF(“%s”,char *)< /C>是与数字或垃圾字符串联的字符。所附图像本身就说明了这一点。有什么想法吗

打印字符时的printf奇怪行为-LLDB调试器 < P>在为iOS XCODE项目使用静态C++库时,我遇到了Primtf和XCOLDLLDB调试器的奇怪行为,有时我的打印结果“代码> PROTF(“%s”,char *)< /C>是与数字或垃圾字符串联的字符。所附图像本身就说明了这一点。有什么想法吗,c++,printf,lldb,C++,Printf,Lldb,如果使用%s格式说明符打印字符数组a需要以'\0'结尾: char * a = new char[5]; a[0] = 'i'; a[1] = 'p'; a[2] = 'o'; a[3] = 'd'; a[4] = '\0'; printf("word: %s\n", a); 似乎工作如预期%s需要以NUL结尾的字符串,也就是说,对于给定的字符*,打印任何内容直到第一个'\0'。您必须分配5个字节并分配a[4]=0如果希望数组适合%s则代码的文本副本和粘贴将更易于阅读和使用。任何行为都将是

如果使用
%s
格式说明符打印字符数组
a
需要以
'\0'
结尾:

char * a = new char[5];

a[0] = 'i';
a[1] = 'p';
a[2] = 'o';
a[3] = 'd';
a[4] = '\0';

printf("word: %s\n", a);

似乎工作如预期<代码>%s需要以NUL结尾的字符串,也就是说,对于给定的
字符*
,打印任何内容直到第一个
'\0'
。您必须分配5个字节并分配
a[4]=0
如果希望数组适合
%s

则代码的文本副本和粘贴将更易于阅读和使用。任何行为都将是“预期的”。如果给
printf(“%s”,blah)
一个指向未以NUL结尾的数组的指针,则该行为是未定义的。