ファイル出力

"F","092235","022803","1","aaa","3"

例えばこんな感じのデータがあったとして末尾に CR/LF (0x0d 0x0a)
入れた状態でファイルに出力したい。(上は出力結果)
データは構造体で、最後の要素に CR/LF が入ってる。

出力したデータをバイナリエディタで見てみる。

最初は fwrite を試した。
こいつだと末尾が 0d 0d 0a で出力された。
ファイルのオープンモードの関係でデータに 0a があると 0d が付加される
らしい(多分

次に fputs を試したが出力結果は同じだった。

最後に fprintf 。

int fprintf(FILE *stream, const char *format, ...);

こいつを試す前に、 CR/LF が入ってる構造体の要素を削除。

fprintf(fp, "%s\n", (char *)構造体);

ちゃんと0d 0a 出ました。
ここまで一人で辿り着いたわけではないですけど一応仕様どおり
動いてるようなのでヨシ!!