当前位置:首页 » 编程语言 » c语言中读取行

c语言中读取行

发布时间: 2025-06-07 03:48:17

‘壹’ c语言中读取文件时怎么跳过某行

  1. 可以使用fseek函数,直接偏移指针的指向位置到第二行。

    函数原型

    int fseek(FILE *stream, long offset, int fromwhere);函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。

  2. 可以使用fgets函数,遇到需要跳过的行时,直接读取该行并弃舍该行字符值。

    函数原型
    char *fgets(char *buf, int bufsize, FILE *stream);
    参数
    *buf: 字符型指针,指向用来存储所得数据的地址。
    bufsize: 整型数据,指明存储数据的大小。
    *stream: 文件结构体指针,将要读取的文件流。

‘贰’ c语言逐行读取文件

可以使用fgets函数。

1 函数名:

fgets

2 声明:

char *fgets(char *buf, int bufsize, FILE *stream);

3 头文件:

stdio.h

4 功能:

从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋''),如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。函数成功将返回buf,失败或读到文件结尾返回NULL。因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。


5 参数:

*buf:字符型指针,指向用来存储所得数据的地址。

bufsize:整型数据,指明存储数据的大小。

*stream:文件结构体指针,将要读取的文件流。


6 返回值:

成功,则返回第一个参数buf;

在读字符时遇到end-of-file(文件结尾),则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;

如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。


7 示例代码:

逐行读取in.txt中的数据,并打印。每行不超过100个字符。

intmain()
{
FILE*fp;
charbuf[101];
fp=fopen("in.txt","r");//打开文件
while(fgets(buf,sizeof(buf),fp))//每次读取一行数据,直到读取失败。
{
printf("%s ",buf);//打印该行。
}
fclose(fp);//关闭文件。

return0;
}

‘叁’ 用c语言怎么读取txt文件中的行数

读取文件行数, 可以逐个字符读取文件,到文件尾,统计 的个数

参考代码如下

#include<stdio.h>
intmain()
{
intc;
FILE*fp;
intlines=0;
fp=fopen("in.txt","rb");
if(fp)
{
while((c=fgetc(fp))!=EOF)
if(c==' ')lines++;
printf("%d ",lines);
fclose(fp);
}
return0;
}

也可以通过fgets函数,每次读取一行,到文件尾,然后计算读取的次数

#include<stdio.h>
#include<string.h>
intmain()
{
chars[100];
FILE*fp;
intlines=0;
fp=fopen("in.txt","r");
if(fp)
{
while((fgets(s,100,fp))!=NULL)
if(s[strlen(s)-1]==' ')lines++;
printf("%d ",lines);
fclose(fp);
}
return0;
}
热点内容
洪算法 发布:2025-06-07 05:53:26 浏览:527
软件程序编程 发布:2025-06-07 05:51:47 浏览:192
pythonforin函数 发布:2025-06-07 05:44:52 浏览:536
ftp比较大小上传 发布:2025-06-07 05:21:00 浏览:388
c语言的缺陷与陷阱 发布:2025-06-07 05:10:08 浏览:210
java编程网站 发布:2025-06-07 05:07:21 浏览:370
apache处理php 发布:2025-06-07 05:01:30 浏览:443
访问非好友的qq空间 发布:2025-06-07 05:01:24 浏览:960
安卓机为什么占内存大 发布:2025-06-07 05:00:46 浏览:45
php双引号单引号 发布:2025-06-07 05:00:45 浏览:979