\ nなどの特殊文字をコマンドラインからCプログラムに取り込みたいと思います。C:コマンドラインの特殊文字を文字列に取り込む方法
たとえば、次のプログラムの場合、./a.out "\ nfoo \ n"を実行すると、 "\ nfoo \ n"の代わりに改行foo(改行)を印刷したいと思います。それを文字列に取り込むにはどうしたらいいですか?
#include <stdio.h>
#include <string.h>
int main(int argc, char ** argv){
if(argc >1){
char * s = strdup(argv[1]);
printf("%s\n", s);
free(s);
}
return 0;
}
編集:申し訳ありませんが、(改行)のfoo(改行)によって、私は意味acutal出力が
fooの
は現在、出力が "\ NABCの\ n" は、文字通りです(改行。 sは '\ n'文字の代わりに2文字をキャプチャするため、印刷されません)。混乱をおかけして申し訳ありません。
はい。明確にするために、それを行うライブラリ関数はないので、あなた自身でそれを行う必要があります。たとえば、文字列に\とtを見つけたら、タブのcharを出力します。そういうもの;あなたはそれを綴る必要があります。 –