C语言怎么读取txt文件中一行的数据?

C语言怎么读取txt文件中一行的数据?,第1张

打开文件 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

}

1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。

2、例程:

#include<stdio.h>

#include<string.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

=

fgetc(fin)

ungetc(c,fin)

检查是否读到

换行符或文件结束符。

例如:

a.txt

1

2

3

45

56

6

7

8

9

10

至于记录每行数据个数,存放到数组,等等,可以自己补充完善。

程序:

#include

<stdio.h>

int

main(

)

{

file

*fin

int

a,c

fin=fopen("a.txt","rw")

while(1){

c

=

fgetc(fin)

if

(c==eof)

break

if

(c=='\n')

{printf("\n==========\n")

continue}

ungetc(c,fin)

fscanf(fin,"%d",&a)

printf("%d

",a)

}

fclose(fin)

return

0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6460331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-22
下一篇 2023-03-22

发表评论

登录后才能评论

评论列表(0条)

保存