C语言fscanf函数怎么从文件第三行开始读起??

另外fscanf(fp,"%*[^\n]%*c");每个符号是什么意思?求详解~!... 另外fscanf(fp,"%*[^\n]%*c");每个符号是什么意思?求详解~! 展开
 我来答
L_o_o_n_i_e
2011-12-22 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5213万
展开全部
for (i=0;i<2;i++) fscanf(fin,"%*[^\n]%*c"); 跳过2行。
%* 是“跳过”
[^\n] 字符串的分隔符是 "\n", 中括号里可以写 分隔符 表
%*[^\n] 跳过 \n 前的所有 字符串。
%*c 是“跳过”行尾 的 换行符

#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *fin;
int x,y;
int i;
fin=fopen("a.txt","r");
for (i=0;i<2;i++) fscanf(fin,"%*[^\n]%*c"); // 跳2 行
fscanf(fin,"%d %d",&x,&y); // 读 2 个 int
printf("%d %d\n",x,y); // 打出 3 33
fclose(fin);
}

文件例子:
1 2 3
2 345 56
3 33 333
4 444 444
追问
那如果我只要读取文件例子里的“333”呢?怎么取一行的中间一段?
追答
跳2行后
用 %*d %*d %d 格式 -- 跳2个整形数,读1个整形数。
fscanf(fin,"%*d %*d %d",&x);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式