1

次の行

FILE *fp=popen("ls -h --full-time | awk '{printf \" %-70s%-10s%-20s%-30s\n \", $9,$5,$6,$7}' ","r");

エラーを与える

awk: 1 行目: 暴走した文字列定数 "%-70s%-10....

私も試しました

FILE *fp=popen("ls -h --full-time | awk \'{printf \" %-70s%-10s%-20s%-30s\n \", $9,$5,$6,$7}\' ","r");

それでも同じエラーです。

私はそれが引用符と関係があることを知っています. 私だけが正確に何を理解することはできません。エラーを取り除く方法は?ありがとう。

4

1 に答える 1

3

awkを解釈するつもりでした\nが、実際には C コンパイラによってリテラルの改行として解釈されています。そのため、 awk はランナウェイ文字列を認識します。そこにたどり着くまでに、それは文字通りの改行であるためです。

元の文字列で使用する必要が\\nあります。

于 2013-04-03T05:17:23.253 に答える