关于写txt文件的初级问题
void CMy0018Dlg::OnButton1()
{
CString FilePathName;
CFileDialog dlg(TRUE);
if(dlg.DoModal()==IDOK)
{
FilePathName=dlg.GetPathName(); /
CFile file;
file.Open(FilePathName,CFile::modeRead);
char buffer[100]={0};
file.Read(buffer,100);
SetDlgItemText(IDC_EDIT2,(LPCTSTR)buffer);
file.Write(buffer,100);
}
}
file.Write(buffer,100);用这句后,本来buffer里只有5个字母,写到txt后,加上了好多空格.怎么能有多少个字符 输出多少个字符?
问题点数:10、回复次数:3Top
1 楼ponydph(pony)回复于 2004-12-01 13:48:07 得分 0
你写到文件里面有100个字符, 不足100就补上空格了.Top
2 楼sungun(涅磐)回复于 2004-12-01 13:50:55 得分 4
c对字符数组是没有控制的,所以你需要在字符数组的末尾加上个'\0'
再写入txt文档前你可以先计算一下有多少个字符,然后在最后一位后写上'\0'就成了Top
3 楼koko1998(高价购买火车票)回复于 2004-12-01 13:53:55 得分 6
file.Write(buffer, lstrlen(buffer));
Top




