我在一个DLL文件(WIN32静态那个)里想逐行读取c:\1.txt里的内容
因为我要逐行比较字符串
while(.....)
{
If(!strcmp(这一行的内容,"123"))MessageBox(NULL,"这一行是123了",NULL,NULL);
}
貌似用for会好点。。。。
请教了,写出代码给我看看,好吗? 谢谢了
vc 如何逐行读取文本
答案:6 悬赏:10 手机版
解决时间 2021-03-19 11:43
- 提问者网友:回忆在搜索
- 2021-03-18 16:54
最佳答案
- 五星知识达人网友:舊物识亽
- 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中的所有内容。
CString strTemp;//只保存当前行数据
std::vector
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)
{
......
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯