MFC中如何使用CFile打开一个txt文件并读取其中的内容到

我的情况是 文件名是一个变量 然后我用如下代码读的
char sRead[2];
CFile mFile(_T(tem),CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate);
if(mFile.GetLength()<2)
return;
mFile.Read(sRead,2);
mFile.Close();

那个tem就是我的文件名变量,这样子的话可以读 但是 貌似只能读两个字符,而且不知道为什么读出来显示在编辑框之后 后边还有文件名的变量也跟着输出了 请问这个方法的话 是不是有读取文本长度的限制 求一个可用的方法 在此先谢过各位了

为什么只读2个字符:因为mFile.Read(sRead,2),第二个参数指定了最多读几个字符。你自己指定了读两个字符。

为什么输出了文件名。没有代码没法准确判断。我估计跟缓冲区溢出有点关系,你可以试着把sRead数组改大一点。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-11
因为sRead你只设置了两个字符。。所以只能两个,你char *sRead=new char[]就没限制了吧本回答被网友采纳
第2个回答  2010-12-11
这东西说不清楚,看孙鑫老师的视频吧,在文件操作的那一课里有完整的演示和说明。

MFC,CFile类 从txt文件中读取汉字内容应该怎么写
FFFE字体,是UTF16-LE的BOM字头标记,其实从你write的乘以2看,应该程序本身就是UNICODE字符集了,那么读取的时候,直接使用TCHAR或者WCHAR数组来读取,再赋值给CString就可以了。如果以文本方式打开CFile,不用跳字头,如果不声明文本模式,跳过(也就是首先读取)一个TCHAR就可以了。

MFC怎么用CFileDialog打开一个txt文件,直接用系统自带的记事本打开就...
如果只是用系统带的记事本打开就可以的话有一个很简单的方法。c函数库里面有一个system(const char * cmd);函数相当于在cmd里面执行一条命令行。头文件为:stdlib.h。你在按钮响应函数里面加入代码system(“notepad.exe *.txt”);其中*.txt为文件的全路径,如果你会用字符串格式函数就可以用上面文...

如何在MFC中读取txt文件中的数据
if(myFile.Open(CBApp::getCurrModulePath()+_T("filename.txt"), CFile::modeRead)){ \/\/读取 myFile.ReadString(str);myFile.Close();} else { \/\/创建 File.Open(CBApp::getCurrModulePath()+_T("filename.txt"), CFile::modeWrite | CFile::modeCreate);File.WriteString(sFileName...

MFC中CFile打开文件并读txt数据
读取txt还是fopen用得方便,至于与CString的沟通,可以这样做:包含头文件<tchar.h> 将fopen改为_tfopen,具体这样写 _tfopen(str\/*CString类型的对象,不需要显式强制转换*\/ ,_T("rt")\/*注意这个_T*\/)然后接下来就能进行文件的读写了 然后建议楼主查阅一下 char和wchar_t两种字符类型,标准库对...

mfc中用cfile怎样从头到尾读取文件
使用CFile::SeekToBegin()定位到文件头开始读。然后读取得到的文件长度的字节数或者判断到了文件末尾,就OK了。

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 = "Text Files(*....

CFile::Read()怎么用,MFC中。。。
CFile::Open成功打开文件后,使用 GetLength 获取文件的长度,nFileLen;然后 new 一块内存。char*lpBuf = new char[nFileLen];再使用 Read( lpBuf, nFileLen);文件的数据就装入到 lpBuf指向的内存块了。Read是从当前游标开始读取,默认是文件起始,可以使用 Seek\/ SeekToBegin \/ SeekToEnd 来定位。“...

急!如何在mfc中向txt文件写入数据,用CFile!!
MFC中不需要加什么东西,直接使用CFile类;CFile WriteFile;WriteFile.Open("d:\\\\file.txt",CFile::modeWrite|CFile::modeRead|CFile::modeCreate);char *WriteBuf="12345";WriteFile.Write(WriteBuf,strlen(WriteBuf)+1);delete WriteBuf;放在一个Button控件试试吧。

vc的txt文件的读写操作
1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找。下面这段代码演示了这个类的最基本使用方法。CString strFileTitle;CFileFind finder;BOOL bWorking = finder.FindFile...

用VC在MFC里用CFile方式读txt文件,忽略空格和换行,只读取每一行里的一...
szTmp.Replace(" ", "");\/\/这个的功能是把字符串的空格消掉 int n = szTmp.GetLength();\/\/这个就是把空格去掉后,字符串的长度了 int n = atoi(szTmp);\/\/这个是把字符串变成数字的 后面的就看你情况使用了。CString类是一个很强大的字符串类,感觉可以满足你了。

相似回答