本文目录一览:
- 1、C++如何做到只读取文件的某一行
- 2、VC++中如何循环读取TXT文件的每一行内容
- 3、C语言怎么做到从文件中读取一行数据,然后改变这一行内容
- 4、C语言如何读取文本文件中的一行数据啊?
- 5、C语言怎么读取txt文件中一行的数据?
- 6、C语言 如何一行行读文件
C++如何做到只读取文件的某一行
可以先使用ifstream类打开要读的文件,然后使用ifstream的成员函数getline读出一行数据。
如果需要读的并不是第一行,而是中间某一行,那么可以先读出前面所有行,抛弃后读需要的一行。
以下是读文件file_name的第n行的操作:
//读取文件filename的第n行,存到buf中,buf_len为buf的长度。
void read_line(char *filename, int n, char *buf, int buf_len)
{
ifstream in(filename);//打开文件。
int i;
for(i = 0;i n; i ++)
in.getline(buf, buf_len);//读取数据。
in.close();//关闭文件。虽然在C++中不是必须,但是显式关闭文件是一个很好的习惯。
}
VC++中如何循环读取TXT文件的每一行内容
C++用fstream中的getline()函数读取一行文件内容
C语言可用fgets()函数读取一行文件内容
两者有一些区别:
1、fgest()读到回车结束,回车符也会写到接收buf中
2、getline()可以设定读到哪个字符结束,默认是回车符,但指定的这个字符不会写到接收buf中。
3、fgets()读取数据,如果在读到回车符之前,达到了最大可读个数,则也会返回已读到的buf数据
4、getline()在读数据时,遇到指定字符之前,达到了最大可读个数,则会返回读错误
参考代码如下:
C++版本
#include iostream
#include fstream
using namespace std;
int main()
{
ifstream in("test.txt");
char str[1024]={0};
if ( in.fail() )
{
cout "open file error" endl;
return -1;
}
while( in.getline(str,sizeof(str),'\n' ) )
{
cout strendl ;
}
in.close();
return 0;
}
C语言版本
#include stdio.h
int main()
{
FILE *fp;
fp=fopen("test.txt","r");
char str[1024];
if ( fp == NULL )
{
printf("open file error\n" );
return -1;
}
while( fgets(str, sizeof(str), fp ) )
{
printf("%s", str );
}
fclose(fp);
return 0;
}
C语言怎么做到从文件中读取一行数据,然后改变这一行内容
1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。
2、例程:
#includestdio.h
#includestring.h
void main()
{
char a[100],b[100],c[100];
int i=3,j=4,k=0; //第三行,第四列
FILE *fp = fopen("data.txt","r");
while(fgets(c,100,fp)){ //读入每行数据
i--;
if(i==0) strcpy(a,c); //读到第三行数据
b[k++]=c[j-1]; //把每行的那列字符拷到b中
}
b[k]=0;
printf("第%d行数据:%s\n",i,a);
printf("第%d列数据:%s\n",j,b);
fclose(fp);
}
C语言如何读取文本文件中的一行数据啊?
用fstream(文件流),fstream
file
然后
file.getline(char*,int,char
a=‘\n’)第一个是一个存储字符串的指针,第二个是要读取的最大长度,第三个是行结束符,默认是回车,函数说明就是当读入的字符超过最大长度int或者遇到行结束符(‘\n’)时就停止,而且这个很好用的(对于读入和写入),你看看文档就会了,哈哈,给分啊。!!~~-文件读一行函数
C语言怎么读取txt文件中一行的数据?
打开文件 fopen("需要打开的路径")
然后使用fgets函数读取行
#include stdio.h
#include stdlib.h
#include string.h
#define MAX_LINE 1024
int main()
{
char buf[MAX_LINE]; /*缓冲区*/
FILE *fp; /*文件指针*/
int len; /*行字符个数*/
if((fp = fopen("test.txt","r")) == NULL)
{
perror("fail to read");
exit (1) ;
}
while(fgets(buf,MAX_LINE,fp) != NULL)
{
len = strlen(buf);
buf[len-1] = '\0'; /*去掉换行符*/
printf("%s %d \n",buf,len - 1);
}
return 0;
}
C语言 如何一行行读文件
C语言中,使用fgets函数遍可以一行行读取文件。
1、fgets函数:
原型:char
*
fgets(char
*
buf,
int
bufsize,
FILE
*
stream);
功能:从文件结构体指针stream中读取数据,每次读取一行。
说明:读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋值为\0)。如果该行不足bufsize个字符,则读完该行就结束,如果该行超过bufsize-1个字符,则fgets只返回一个不完整的行,buf缓冲区以\0字符结束,下一次fgets调用会继续读取该行剩余的字符;-文件读一行函数
头文件:stdio.h;
返回值:若读入成功,返回与参数buf相同的字符指针,若读入过程中遇到EOF或发生错误,返回NULL指针。所以当遇到返回值为NULL的情况时,应使用ferror或feof函数检查是发生错误还是遇到EOF。-文件读一行函数
2、例程:
#include
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打开输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
fscanf(fp1,"%d",a);//从输入文件读取一个整数
b=fgetc(fp1);//从输入文件读取一个字符
fgets(c,100,fp1);//从输入文件读取一行字符串
printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
fputs(c,fp2);//向输出文件写入一行字符串
fputc(b,fp2);//向输出文件写入一个字符
fprintf(fp2,"%d",a);//向输出文件写入一个整数
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}