24小时热门版块排行榜    

查看: 937  |  回复: 5

格物要致知

木虫 (著名写手)

[求助] C语言文件读写操作

请问使用C语言读取以下数据应该如何写代码:
输入文件,命名为:input.txt
文件内容:
surface integral
--------
inletout -15.21
prefar 20
----
net 17.5
要求:
将inletout 的值-15.21 赋给变量a;
将prefar的值 20赋给变量b即可
因为对C语言的文件操作不是特别熟,这个输入文件格式比较乱,以后还要经常碰到这种类型的文件操作,所以还请会的同学帮我写一下,赠送金币20
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

格物致知专做科研
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
格物要致知: 金币+20, ★★★★★最佳答案, 很好,搞定 2012-10-14 13:38:20
格物要致知: 回帖置顶 2012-10-14 13:53:34
xzhdty: 谢谢 2012-10-15 12:38:04
#include

int main()
{
        FILE *fp;
        float a,c;
        int b;
        char str1[50],str2[50],str3[50];
        char str4[50],str5[50],str6[50];
        fp=fopen("ss.txt","r";
        fgets(str1,50,fp);
        fgets(str2,50,fp);
        fscanf(fp,"%s %f\n",str3,&a);
        fscanf(fp,"%s %d\n",str4,&b);
        fgets(str5,50,fp);
        fscanf(fp,"%s %f\n",str6,&c);
        fclose(fp);

        printf("a=%f b=%d c=%f\n",a,b,c);
        return 0;
}
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
3楼2012-10-14 11:39:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

感谢参与,应助指数 +1
用c++吧,字符串操作比c方便了无数倍
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-10-14 04:37:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

笑脸的地方为右括号
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
4楼2012-10-14 11:40:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

格物要致知

木虫 (著名写手)

引用回帖:
4楼: Originally posted by baobiao007 at 2012-10-14 11:40:35
笑脸的地方为右括号

这是百度上面的回答,我觉得也不错,呵呵
#include
#include

int main()
{
FILE *fin;
char namein[]="input.txt";
char str[80];
float a=0,b=0;
fin = fopen(namein,"r";  //打开文件,这里,你也可以添加打开文件不成功的处理
while(1){
if (fscanf(fin,"%s",str)==EOF) break;    // 读一字符串,并判断文件是否结束
if (strcmp(str,"inletout"==0)fscanf(fin,"%f",&a);  // 是目标字符串1,则读数据a
if (strcmp(str,"prefar"==0)fscanf(fin,"%f",&b);  // 是目标字符串2,则读数据b
}
fclose(fin);
printf("a=%g b=%g\n",a,b);  // 输出读得的结果
return 0;
}
格物致知专做科研
5楼2012-10-14 13:51:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

这种的可以用fgets读取一行,再用sscanf从字符串中按照固定字符串读取
6楼2012-10-14 18:12:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 格物要致知 的主题更新
信息提示
请填处理意见