如何打开文件读取数据 我在做毕业设计。现在需要打开一个文本文件,读取里面得数据,并吧这些数据赋值给函数中的变量。不知道该怎么做。忘大哥大姐不吝赐教,毕业在即,小弟将感激不尽,并献上80分以表感激之情。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 文本文件: CreateFile读取数据:ReadFile读完关闭文件:CloseFile 直接用c语言的函数就可以啊打开:FILE * fp;fp=fopen("文件名","打开方式");读数据:fscanf函数,具体参数及含义你查查C语言的书或者MSDN即可 // Attempt a synchronous read operation. bResult = ReadFile(hFile, &inBuffer, nBytesToRead, &nBytesRead, NULL) ; // Check for end of file. if (bResult && nBytesRead == 0, ) { // we’re at the end of the file } 上面各位大哥的解决方法都可以。我还有个直接把全部的文本内容一次全部读出的方案:CFileDialog fd(true,"","",0,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*|",NULL);//定义打开文件对话框 fd.m_ofn.lpstrTitle="打开文件";//对话框标题 if(fd.DoModal()==IDCANCEL)return; // example for CStdioFile::CStdioFile CString strContent="",FileName=fd.GetFileName(); CStdioFile f1; if( !f1.Open( FileName,CFile::modeRead | CFile::typeText ) ) //定义打开模式 { #ifdef _DEBUG afxDump << "Unable to open file" << "\n"; #endif exit( 1 ); } while(f1.ReadString(temp)) { strContent+=temp; } MessageBox(strContent); 关键是CStdioFile这个类,是专门用来读取文本文件的。对于比较大的文件同样适用,最大好象是2G( 记不清楚了),详细见MSDN。 对不住,while(f1.ReadString(temp))一句中的变量是CString类型的,忘记定义了。 同愿楼上SunnyBoy2004的,补充最后加一句f1.Close();//关闭文件 char buffer[1025];CFile file;file.Open("c:\\aaa.txt",CFile::modeRead);file.Read(buff,1024);file.Close(); fscanf函数里面的参数有变量(自己定义的相同类型的)啊,这个值就是存的你从文件读的数据啊 我想问下 在读完之后 在EDIT控件显示应该怎么做那 菜鸟求救 请吃饭 如何跳出按钮控件的问题。。。请教大家~~ 问四个有关定义的问题,拜托各位高手 访问数据库问题 请大家进来看一看 请问:在MDI中怎样利用它默认的保存文件的工具栏按钮,谢谢! 班长推荐 vs2005中vc访问access的问题 密码探测器的原理是什么? 请问MFC中这种经纬度的填充效果是如何实现的? 请问标签类和每个标签项中关联的无模式窗口该如何才能做到匹配? 有谁用过skinMagic 2.21 Trial????
读取数据:ReadFile
读完关闭文件:CloseFile
打开:
FILE * fp;
fp=fopen("文件名","打开方式");
读数据:
fscanf函数,具体参数及含义你查查C语言的书或者MSDN即可
bResult = ReadFile(hFile, &inBuffer, nBytesToRead, &nBytesRead, NULL) ;
// Check for end of file.
if (bResult && nBytesRead == 0, )
{
// we’re at the end of the file
}
fd.m_ofn.lpstrTitle="打开文件";//对话框标题
if(fd.DoModal()==IDCANCEL)return;
// example for CStdioFile::CStdioFile
CString strContent="",FileName=fd.GetFileName();
CStdioFile f1;
if( !f1.Open( FileName,CFile::modeRead | CFile::typeText ) ) //定义打开模式
{
#ifdef _DEBUG
afxDump << "Unable to open file" << "\n";
#endif
exit( 1 );
}
while(f1.ReadString(temp))
{
strContent+=temp;
}
MessageBox(strContent);
关键是CStdioFile这个类,是专门用来读取文本文件的。对于比较大的文件同样适用,最大好象是2G( 记不清楚了),详细见MSDN。
最后加一句
f1.Close();//关闭文件
CFile file;file.Open("c:\\aaa.txt",CFile::modeRead);
file.Read(buff,1024);
file.Close();