2017-01-12 17 views
0

のために私はこのようなファイルに書き込みたい:はfputsでファイルに書き込み、ループ

someText 
{ 
    "Bob [m]" -> "Fed [m]"; 
    "Tom [m]" -> "Jenny [f]"; 
    ... 
} 

は私が持っている:

void file Write() 
{ 
    FILE *fp; 

    fp = fopen("df.dot", "w"); 

    int i; 

    fputs("someText\n", fp); 
    fputs("{\n", fp); 

    for (i = 1; i < 6; i++) 
    { 
     printf(" \"%s\" -> \"%s\";\n", sort[i].sorted1, sort[i].sorted2); 
    } 

    fputs("}\n", fp); 

    fclose(fp); 

} 

問題は、forループと一部です。 fprintsが置かれている場所、それはまたfputsで書かれなければなりません。 (fputsではなくprintf)

fputsでこのようにすることはできないと思います。これを可能にする別の関数()がありますか?

ありがとうございました

答えて

0

あなたのforループではprintfを使用しました。代わりにfprintfを使用できます。 sprintf関数で文字列を書式設定し、fputsを使用して書式設定された文字列を記述することができます。

+0

THXたくさん!両方とも正常です。これらの機能の1つを実際に使用することをお勧めしますか? – MBD

+0

私はそれがあなたが望むものに依存すると思います。 fputsは文字列を解析せず、最後に '\ n'だけを書きます。 fprintfはフォーマットされた文字列を書き込みます。これらの機能のいずれかを使用すると、より便利になります。 – DdarkSideE

関連する問題