コードは次のとおりです。
errorLog.OutputSuccess("Filename reference: %c", *t_current_node->filename);
もちろん、最初の文字のみを出力します。->filename[nameLen]
nameLen が 10 の有効な整数であるようなものを追加すると、次のように表示されます。
* のオペランドはポインターでなければなりません。
ありがとう!
コードは次のとおりです。
errorLog.OutputSuccess("Filename reference: %c", *t_current_node->filename);
もちろん、最初の文字のみを出力します。->filename[nameLen]
nameLen が 10 の有効な整数であるようなものを追加すると、次のように表示されます。
* のオペランドはポインターでなければなりません。
ありがとう!
文字列が で終了している場合は、代わりに次\0
を使用できます。%s
errorLog.OutputSuccess("Filename reference: %s", t_current_node->filename);
また、 filenameのメモリ アドレスを渡す必要があるため、*
シンボルを失います。
%s を使用して、*
errorLog.OutputSuccess("Filename reference: %s", t_current_node->filename);
%c
単一の文字を出力します。%s
文字列を出力します: 終端の までのすべての文字\0
。%.10s
文字列の最初の 10 文字 (文字列が短い場合はそれ以下) を出力します%.*s
出力する長さを示す整数と文字列ポインタの2 つの引数を取ります。最後のケースの例:
printf("Filename reference: %.*s", nameLen, t_current_node->filename);