vc 如何逐行读取文本

我在一个DLL文件(WIN32静态那个)里想逐行读取c:\1.txt里的内容
因为我要逐行比较字符串

while(.....)
{
If(!strcmp(这一行的内容,"123"))MessageBox(NULL,"这一行是123了",NULL,NULL);
}

貌似用for会好点。。。。

请教了,写出代码给我看看,好吗? 谢谢了

CStdioFile cFile;
CString strTemp;//只保存当前行数据
std::vector<CString> strVector;//用于保存每行读取出来的内容
if(!cFile.Open("test.txt", CFile::modeRead))
{
cout<<"打开文件失败"<<endl;
}
while(cFile.ReadString(strTemp))
{
strVector.push_back(strTemp);

}
运行完成,strVector中就保存了test.txt中的所有内容。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-02-19
C语言的话把整个文件读入一个char数组,然后用sscanf或者strstr处理

C++语言用ifstream的getline方法读取一列

当然,在VC++里边两种都可以用...

还有一个要注意的问题是要把wide char的库函数,否则中文无法直接比较...
第2个回答  2010-02-19
有专用函数char *fgets(char *string,int n,FILE *stream) 是从流stream中读前n个字符存入string中。
还有一个fgetline函数,貌似只用过一次,具体记不清了
第3个回答  2010-02-24
CStdioFile File;// 定义一个CStdioFile类变量File
CString FileData;// 定义一个CString,作为一个缓冲区
ret=File.Open(m_FilePath,CFile::modeRead); //以读模式打开文本文件
while(File.ReadString(FileData))// 将一行数据读到缓冲区
{
//在这里面处理FileData就可以了
}
第4个回答  推荐于2016-06-23
char str[100];
FILE* file;
file = fopen("C:\\1.txt", "r");
while (fscanf(file, "%s", str) != EOF)
{
......
}本回答被提问者采纳
相似回答