トップページ > 記事閲覧
fwriteで作ったファイルが文字化けする
名前:pleasUre. 日時: 2016/09/05 18:07

以下のコードで、saveフォルダにtest.txtというテキストファイルを作ろうとしました。 #include "DxLib.h" #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct{ int Scene1; int Scene2; //文字スピード int Scene3; //未読スキップ int Scene4; //ウィンドウサイズ }SaveData_t; SaveData_t Data1 = { 200, 100, 1000, 1000 }; int Save(void){ SaveData_t Data = { 200, 100, 1000, 1000 }; FILE *fp = fopen( "save/test.txt", "wb" );//バイナリファイルを開く if( fp == NULL ){//エラーが起きたらNULLを返す return 0; } fwrite( &Data, sizeof(Data), 1, fp ); // SaveData_t構造体の中身を出力 fclose( fp );//ファイルを閉じる return 0; } そして、Save()を実行したのですが、作られたtest,txtの中身を見てみると ネ d ・ ・ とだけ書かれており、明らかに間違っていると思われます。 試しにfopenの"wb"を"w"に変えたりしても、上と全く同じ文字が作られているだけでした。 どこかおかしな部分があればご指摘お願いします。 ちなみに、関係あるかわかりませんが VC++2008 を使用しています。
メンテ

Page: 1 |

Re: fwriteで作ったファイルが文字化けする ( No.1 )
名前:管理人 日時:2016/09/06 00:01

fwrite はバイナリデータとしてファイルに書き出す関数なので、 テキストファイルとして見ることができるようにするには fprintf を使用する必要があります fprintf( fp, "%d %d %d %d", Data1.Scene1, Data1.Scene2, Data1.Scene3, Data1.Scene4 ) ;
メンテ
Re: fwriteで作ったファイルが文字化けする ( No.2 )
名前:pleasUre. 日時:2016/09/07 22:08

そういうことでしたか。。。 ありがとうございました!!^^
メンテ
Re: fwriteで作ったファイルが文字化けする ( No.3 )
名前:pleasUre.(解決) 日時:2016/09/08 20:19

解決です!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存