iOS Xcode プロジェクトの静的 C++ ライブラリを使用しているときに、printf と Xcode LLDB デバッガーで奇妙な動作に遭遇しました。出力結果printf("%s", char*)が、数字または文字化け文字と連結された char になることがありました。添付の画像はそれ自体を物語っています。何か案が?

期待どおりに動作するようです。%sには、NUL で終わる文字列が必要です。つまり、特定の に対してchar*、最初の まですべてを出力し'\0'ます。a[4]=0;配列を に適したものにする場合は、5 バイトを割り当てて割り当てる必要があります%s。
フォーマット指定子を使用して出力する場合は、文字配列aを a で終了する必要があります。'\0'%s
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);