MFC中的Write函数

我用CFile做的练习 实现把一个列表控件里的数据搞到文件里 弄了一个40的CHAR数组, 然后开始写 事实是有时候根本弄不到40个字符 那个时候我打开文件 不够的部分被“烫”代替 但是用read读的时候却没问题 这是为什么呢?

另外希望大家告诉我 不用CHAR数组 有没有别的方法写 比方CSTRING SIZEOF好像用不了 WRITE最后那个参数怎么弄呢?

Write的时候你应该是没有检查char的长度,char是会以'\0'这个字符终止的,你不检查长度的话Write函数会一直写入数据的,你应该是固定了长度为40吧,这样不行的。read函数读到'\0'终止符时会停止读入数据的,所以不会出错。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-09
初始化你的 char数组 char[40]="\0"
第2个回答  2008-11-10
char c[40] = { 0 };

MFC中的Write函数的参数及用法
const void* lpBuf,UINT nCount );这个MSDN中的Write的形式。第一个参数表示存储要写的东西的字符串或者字符数组。第二个参数表示你要从这个字符串或者字符数组中写多少个字符到文件中。举个小例子 CFile file(1.TXT, CFile::modeWrite );CString str="abcdefg";file.Write(str, 5);第一行为...

MFC中的Write函数
Write的时候你应该是没有检查char的长度,char是会以'\\0'这个字符终止的,你不检查长度的话Write函数会一直写入数据的,你应该是固定了长度为40吧,这样不行的。read函数读到'\\0'终止符时会停止读入数据的,所以不会出错。

MFC CFile中的Write函数使用
Write的第一个参数好像要是void*类型吧

MFC单文档应用程序
一般来说关闭的时候需要销毁不用的垃圾内存,并且调用文档类的析构,当然你可以通过向导添加其他的需要调用的模块。进入Write()函数是因为你的显示,更新之类的动作,都需要调用此函数。它是很重要的文档的工作函数之一。

MFC用CFile的什么函数保存文件?
CFile对象的Write函数用来写文件,要把一个CString对象写入到文件中,可这样写:CFile file(file_path,CFile::modeReadWrite|CFile::modeCreate);file.Write(str.GetBuffer(),str.GetLength()*sizeof(TCHAR));其中,file_path是一个字符串或CString对象,用来指示你要操作的文件的路径。str是你要写的...

MFC中文件读写,为什么写入不了文件?
CFile的write第一个参数为要写入的buffer,第二个参数是写入的size,你的&m_ptrArrary为CArray定义变量的一个地址,而且它不像数组一样是地址连续的,m_ptrArrary.GetSize();是取得数组中元素的数量,总size还要乘以sizeof(type),type为你的数据类型。所以你的方法是不对的,应该这样写 假设你的type...

mfc编程CFile类Write函数问题!
如果你用notepad.exe打开a.txt,它按UTF-8解释,而用写字板软件或IE浏览器,则按GB2312显示。而如果用更聪明的Word来打开,则会让你在两种字符编码中做出选择。这个棘手问题(出现机率很低,丝路是个很特殊的词,你可以试验在notepad.exe中输入“丝路”,按保存,关闭再打开就显示成了˿· ,...

MFC 把数据写入到二进制文件中
可以使用传统的Pascal操作文件的方法或者使用文件流。1、传统文件操作方法 AssignFile(f,'C:\\test');Rewrite(f);用BlockWrite或Write写入二进制信息;CloseFile(f);2、文件流 try f:=TFileStream.Create(FileName,fmCreate or fmOpenWrite);文件操作,写入数据 finally f.Free;end;...

mfc 怎么完成对txt文件的读取和写入
我写了一个。界面一个文本框两个按钮,文本框关联一个CString型变量m_Data,设置属性为Vertical scroll和Want return。两个按钮对应的读写函数分别如下 void CFileTxtDlg::OnRead(){ \/\/ TODO: Add your control notification handler code here CFileDialog fDlg(TRUE);fDlg.m_ofn.lpstrFilter = "...

MFC将数据写入TXT
CFile myFile(hFile); WCHAR* wString = (strContents).GetBuffer( strContents.GetLength() ); CHAR* aString = NULL; UnicodeToAnsi(wString, &aString); UINT nLength = strlen(aString); myFile.Write(

相似回答
大家正在搜