dポイントプレゼントキャンペーン実施中!

char* に格納した文字列をWriteFile関数でテキストファイルにそのまま書き込もうとすると
MessageBoxで表示したときは改行されていたのに、Notepadで見ると改行されていませんでした。
どうすればこの問題は解決しますか?

A 回答 (1件)

具体的にはどのような文字列を書き込もうとしたのでしょうか?


一つの可能性としては、改行として '\n' しか書き込んでいないというものでしょうか。

notepadは '\n' だけのものを改行とは認めず、改行するには
'\r' + '\n' のならびにする必要があります。

MessageBoxでもWindowsのバージョンによって違ったりしますが、
'\r' + '\n' ではなく '\n' だけでも表示上で改行されます。
fprintf/fputsなどの関数だとテキストモードでファイルをオープンしていれば
'\n' → \r\n の変換を自動でしてくれますが、WriteFileはそういったことは
してくれません。
    • good
    • 0
この回答へのお礼

返事が遅れてすいません、ありがとうございましたおかげでうまくプログラミングができました。

お礼日時:2006/12/13 18:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!