c语言,如何在一个文件中读取某些数据,这些数据在一些特定的字符串后面。

比如:guangmingschool(gradesix)class1age15161515...class2age14141515......要求把age后面的数据记录下... 比如:
guangming school (grade six)
class 1 age 15 16 15 15 ...
class 2 age 14 14 15 15 ...
...要求把 age 后面的数据记录下来到一个二维数组中,应该用什么函数最简单?大概代码如何?
展开
 我来答
lx6292275
2011-08-30
知道答主
回答量:6
采纳率:0%
帮助的人:3.7万
展开全部
字符截取函数 函数名: strtok
功 能: 查找由在第二个串中指定的分界符分隔开的单词
用 法: char *strtok(char *str1, char *str2);
程序例:

#include <string.h>
#include <stdio.h>

int main(void)
{
char input[16] = "abc,d";
char *p;

/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, ",");
if (p) printf("%s\n", p);

/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, ",");
if (p) printf("%s\n", p);
return 0;
}

函数第一次调用需设置两个参数,strtok(str,",") str需要分割的串 “,”根据,分割
第一次分割的结果,返回串中第一个,之前的字串,也就是上面的程序第一次输出abc
第二次调用该函数strtok(NULL,"."),第一个参数设置为NULL,第二个参数还是分割的依据
结果返回分割依据后面的字串,即上面的程序输出d
百度网友a705ceb
2011-08-30 · TA获得超过263个赞
知道小有建树答主
回答量:285
采纳率:0%
帮助的人:273万
展开全部
如果格式一样的话用fscanf最简单、
伪代码:
int dummy;
fscanf(fp, "class %d age %d %d %d %d", dummy, dummy, dummy, dummy, dummy);
更多追问追答
追问
我编了一个,没有error但不能运行,提示
debug assertion failed
file :fscanf.c
line:54
stream!=NULL但是源代码文件夹有该文本文件的
追答
FILE *fp;
fp = fopen("where?", "r");
int num, num1, num2, num3, num4;
fscanf(fp, "class %d age %d %d %d %d", num, num1, num2, num3, num4);
fclose(fp)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xihu_wy
2011-08-30
知道答主
回答量:9
采纳率:0%
帮助的人:7万
展开全部
先定位fseek,然后读fread,当然传入fread的参数是一个二维数组,例如:data[0][0]
追问
就这个例子而言,伪代码是什么呢,谢谢~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式