vc 如何逐行读取文本

2025-02-25 08:12:57
推荐回答(5个)
回答1:

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

}
运行完成,strVector中就保存了test.txt中的所有内容。

回答2:

C语言的话把整个文件读入一个char数组,然后用sscanf或者strstr处理

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

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

还有一个要注意的问题是要把wide char的库函数,否则中文无法直接比较...

回答3:

有专用函数char *fgets(char *string,int n,FILE *stream) 是从流stream中读前n个字符存入string中。
还有一个fgetline函数,貌似只用过一次,具体记不清了

回答4:

CStdioFile File;// 定义一个CStdioFile类变量File
CString FileData;// 定义一个CString,作为一个缓冲区
ret=File.Open(m_FilePath,CFile::modeRead); //以读模式打开文本文件
while(File.ReadString(FileData))// 将一行数据读到缓冲区
{
//在这里面处理FileData就可以了
}

回答5:

char str[100];
FILE* file;
file = fopen("C:\\1.txt", "r");
while (fscanf(file, "%s", str) != EOF)
{
......
}