如何用c语言读取txt文件中的其中一行

如何用c语言读取txt文件中的其中一行,第1张

#include

"stdio.h"

#include

"string.h"

void

main()

{

int

n

FILE

*fin

char

s[25]

fin=fopen("c:\\a.txt","r")

fgets(s,25,fin)/*用fgets读第一行到数组s中*/

n=strlen(s)

fseek(fin,n+1,SEEK_SET)/*将文件指针移到下一行*/

fgets(s,25,fin)/*读取第二行的搜弊字符串*/

printf("%s",s)

}

这个是我写的一个世迟族,如果你想读到第n行的话,用一个for循环控制旦芦使文件指针移到第n行就行了

使用fread函数

 C 标准库 - <stdio.h>

描述

C 库函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定流 洞闭stream 读取数据到 ptr 所指向的数组中。

声明

下面是 fread() 函数的声明。

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

参数

ptr -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。

size -- 这是要读取的每个元中悔素的大小,以字节为单位。

nmemb -- 这是元素的个数,每个元素的大小为 size 字节。

stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。

返回值

成功读取的元素总数会以 size_t 对象返回,size_t 对象是一个整型数据类型。如果总数与 nmemb 参数不同,则可能发生了一个纳培裂错误或者到达了文件末尾。

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

}


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

原文地址: http://outofmemory.cn/tougao/12258789.html

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

发表评论

登录后才能评论

评论列表(0条)

保存