#include <stdio.h>
main()
{
FILE *fp;
char str[1024];
int i,j;
if (fp=fopen("a.txt","r")){
i=0;
while (fgets(str,sizeof(str),fp)){
i++;
j=strstr(str,"中国");
if (j) printf("第 %d 行找到匹配。\n",i);
}
fclose(fp);
} else printf("打开文件失败!");
}
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void main()
{
string s;
ifstream file;
file.open("C:\Documents and Settings\Administrator\text.txt");
while(getline(file,s))
cout<<s<<endl;
file.close();
}
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
char c,ch[1024];
ifstream inf;
ofstream outf;
inf.open("abcd.txt");
outf.open("jcf.txt");
// inf.get(c);
while(inf.good() && !inf.eof())
{
memset(ch,0,sizeof(ch));
inf.getline(ch,sizeof(ch),1);
}
for(int m=0;m<strlen(ch);m++)
{
cout<<ch[m];
}
outf.close();
inf.close();
return 0;
}
请问使用ifstream file.getline()读入文本文件怎么换行读下一行的数据???
答:做个WHILE循环就行了:
getline指针在读取一行后,指针移动下一行
实际上getline指针在读取一行后,指针移动下一行
如果为回车,即读取失败
getline会重置一个状态
实例一:
/////////////////////////////////////////////////////////////////////////////
ifstream infile(strFileName,ios::in);//首先定义一个ifstream 对象,strFileName为操作文件地址名.
if(!infile)
return;
char szTemp[1000]; //定义一个缓冲字符数组
int nLength;
while(infile.getline(szTemp,1000))
{
nLength=lstrlen(szTemp);
/////////////////测试代码//////
CString nindex;
nindex.Format("%d",nLength);
MessageBox(szTemp);//通过对话框显示每行的字符串
///////////////////////////////*/
}
/////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
实例2:
做个WHILE循环就行了:
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
void main()
{
ifstream file("file1.txt");
if(!file)
{
cout<<"file1.txt can't open.";
abort();
}
char buf[80];
while(file.getline(buf,80))
{
cout<<buf<<endl;
}
}
你自己新建一个file1.txt,里面写点东西试试就行了.
////////////////////////////////////////////////////////////////////////////
实例2:
/////////////////////////////////////////////////////////////////////////////
ifstream infile(strFileName,ios::in);//首先定义一个ifstream 对象,strFileName为操作文件地址名.
if(!infile)
return;
char szTemp[1000]; //定义一个缓冲字符数组
int nLength;
while(infile.getline(szTemp,1000))
{
nLength=lstrlen(szTemp);
/////////////////测试代码//////
CString nindex;
nindex.Format("%d",nLength);
MessageBox(szTemp);//通过对话框显示每行的字符串
///////////////////////////////*/
}