C语言 fgets函数读取CSV文件如何从第二行开始,第一行是表头。 15

CSV文件如下:nametext"xm""ddd""xw""www""xh""qqq"我要去掉name和text这一行,直接从xm开始读取。... CSV文件如下:
name text
"xm" "ddd"
"xw" "www"
"xh" "qqq"
我要去掉name和text这一行,直接从xm开始读取。
展开
 我来答
hwd0312
2015-10-26 · TA获得超过4336个赞
知道小有建树答主
回答量:1043
采纳率:100%
帮助的人:169万
展开全部

第一次获取的数据不要就可以了,何必这么麻烦。

函数原型:

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

参数:

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

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

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

返回值:

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

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

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

例子:

#include<string.h>
#include<stdio.h>
 
int main ( void )
{
    FILE*stream;
    char string[]="Thisisatest";
    char msg[20];
/*openafileforupdate*/
    stream=fopen("DUMMY.FIL","w+");
/*writeastringintothefile*/
    fwrite(string,strlen(string),1,stream);
/*seektothestartofthefile*/
    fseek(stream,0,SEEK_SET);
/*readastringfromthefile*/
    fgets(msg,strlen(string)+1,stream);
/*displaythestring*/
    printf("%s",msg);
    fclose(stream);
    return 0;
}
kaixingui2012
2014-03-26 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6435万
展开全部
循环前先fgets()一下,忽略之,然后再循环读数,如:
char str[100];
fp=fopen("cvs" ,"r" );
fgets( str,sizeof(str),fp ); //跳过第一行
while( !eof(fp) )
{
fgets( str,sizeof(str),fp );
puts( str );

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式