2

私が望むのは、 *.c ファイルを読み取り、ヘッダーを削除し、ヘッダーを変更して、もちろんファイルを *.c 形式で保存することだけです。「fprintf」を使用しましたが、問題は *.c ファイルにあり、「\n」を含むいくつかの printf があり、fprintf はそれを新しい行のように解釈します :(、壊れた *.c ファイルになってしまいました。ありますか? *.c ファイルを matlab コマンドで処理する方法は?

4

2 に答える 2

3

ファイルを読み取ったら、\文字をに置き換える必要があります。これは、ファイルに再度書き込むときに\\に変換されます。これには最適です:\strrep

str = 'a\nb';
str = strrep(str,'\','\\');
fprintf(str)

a\nb

fprintf(ファイル識別子がないとコマンドラインに出力されることに注意してください。デバッグに非常に役立ちます)

于 2012-08-31T01:27:29.290 に答える
0

ユーザー提供のデータをフォーマット文字列として渡さないでください。これは解釈されます。代わりに、データ引数として渡します。このようなものが動作するはずです:

fprintf(file_id, '%s', the_c_source_code);
于 2012-10-14T21:06:57.380 に答える