×

文件读一行函数

文件读一行函数(文件读一行函数怎么弄)

admin admin 发表于2023-03-25 17:03:09 浏览45 评论0

抢沙发发表评论

本文目录一览:

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;

}