私はこのコードを持っています:
int main(int argc, char * argv[])
{
int i;
printf("%d%s",argc,argv[1]);
return 0;
}
このコードを次のように実行すると、a.out a\=b=
使用していますC-shell
その出力は " a=b=
" です。出力を " " に変更する方法はありますかa\=b=
。
printf()
単一のバックスラッシュを無視しているのではなく、C 文字列が解析される方法です。バックスラッシュは、改行 ( ) や埋め込み引用符 ( ) など、文字列に簡単に入力できない文字を示すエスケープ文字です。したがって、バックスラッシュを含めるには、2 つのバックスラッシュ ( ) を含める必要があります。これはすべての文字列に適用され、 とは関係ありません。\n
\"
\\
printf()
は\
、C の文字列のエスケープ文字です。これを使用して、改行 ( ) などの特殊文字にアクセスします\n
。に文字としてアクセスする場合は\
、エスケープする必要があります: \\
。