CFileでのファイル読み込み

[戻る]
Pie 2006/04/10(月) 19:33:58
VC++6.0,Windows2000,MFC,ダイアログベースでファイルの読み込みをしようとしてるのですが
読み出しがうまくいきません。
エディットボックスをCString型でm_Editとして読み込むテキストの中身を
abc・・・xyzまで書き込んでおきます。

CString FileName="ファイル名";
char buff[10];

UpdateData(TRUE);
CFile fin.Open(FileName,CFile::modeRead | CFile::typeBinary);
fin.Read(buff,10);
m_Edit=buff;
UpdateData(FALSE);

上のように行うと読み出したものにゴミがくっついてきてしまいます。
エディットボックスには abcdefghij面槌J_p となります。
Readの第2引数を10以下にするとその分 フ の数が増えます。

なぜこのようになってしまうのか、このようにならないための解決法などありましたら
是非ご教授お願いいたします。

seeker 2006/04/10(月) 19:47:36
文字列はちゃんとゼロターミネートされていますか?
要は末尾に\0が入っていますか?

Pie 2006/04/10(月) 20:02:43
[[解決]]
\0・・・うっかり忘れていました・・・。
buffの最後に\0を付け足したところうまく読み出せました、
seeker様ありがとうございました!

古いスレッドには追加発言できません。