现在有一个txt文件,有有多列数据···我只想读取其中两列····用C语言如何实现??求高手解答··· 50

 我来答
hw584521314
2013-01-07 · TA获得超过120个赞
知道小有建树答主
回答量:135
采纳率:50%
帮助的人:32.1万
展开全部
上面回答的fgets 是有点问题的:例如:
第一行: xx yy zz 用fgets应该只能读出xx,所以,最好还是用算法保证读取到完整一行,即判断是否读到了'\n'换行符,利用fread读,同时用fseek来定位读取地点:例如:(只是举个例,不保证调试通过哈,懒得去调试)

int offsetBegin=0;
int length=0;

char tmp='a';

while(tmp!=EOF)
{
tmp=fgetchar();// 不停取字符,判断是否是换行符

length++;//取一个字符就长度加1

while(tmp=='\n')//如果是换行符,说明一行到了。
{
fseek(fd,offsetBegin,0);//定位到行首
fread(fd,buf,length,xxxxxx);//读取一行
length=0;//为下次计算一行长度做准备

}

}

如果你知道要读第几行,在里面再加一个变量 low=5,那么每次读出一行后,将countlow++,判断其是否等于low来判断是否是你需要的那一行,如果不是,则不需要fread和fseek,将length=0并直接跳过,开始下行
冰是沉默的水3
2013-01-07 · TA获得超过908个赞
知道小有建树答主
回答量:473
采纳率:50%
帮助的人:137万
展开全部
那要看你读取哪两句
fgets(all,1000,fp);
这是读取一行数据的格式,读取到all数组中
如果你要读取文件后面几行的数据就多fgets一下,知道读取到你想要读取那里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式