永发信息网

vc 如何逐行读取文本

答案:6  悬赏:10  手机版
解决时间 2021-03-19 11:43
  • 提问者网友:回忆在搜索
  • 2021-03-18 16:54
我在一个DLL文件(WIN32静态那个)里想逐行读取c:\1.txt里的内容
因为我要逐行比较字符串

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

貌似用for会好点。。。。

请教了,写出代码给我看看,好吗? 谢谢了
最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-03-18 18:20
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中的所有内容。
全部回答
  • 1楼网友:不甚了了
  • 2021-03-18 22:25
有专用函数char *fgets(char *string,int n,FILE *stream) 是从流stream中读前n个字符存入string中。 还有一个fgetline函数,貌似只用过一次,具体记不清了
  • 2楼网友:雪起风沙痕
  • 2021-03-18 21:31
CStdioFile File;// 定义一个CStdioFile类变量File CString FileData;// 定义一个CString,作为一个缓冲区 ret=File.Open(m_FilePath,CFile::modeRead); //以读模式打开文本文件 while(File.ReadString(FileData))// 将一行数据读到缓冲区 { //在这里面处理FileData就可以了 }
  • 3楼网友:何以畏孤独
  • 2021-03-18 20:48
C语言的话把整个文件读入一个char数组,然后用sscanf或者strstr处理 C++语言用ifstream的getline方法读取一列 当然,在VC++里边两种都可以用... 还有一个要注意的问题是要把wide char的库函数,否则中文无法直接比较...
  • 4楼网友:执傲
  • 2021-03-18 19:21
你好! C语言的话把整个文件读入一个char数组,然后用sscanf或者strstr处理 C++语言用ifstream的getline方法读取一列 当然,在VC++里边两种都可以用... 还有一个要注意的问题是要把wide char的库函数,否则中文无法直接比较... 我的回答你还满意吗~~
  • 5楼网友:逃夭
  • 2021-03-18 18:55
char str[100]; FILE* file; file = fopen("C:\\1.txt", "r"); while (fscanf(file, "%s", str) != EOF) { ...... }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯