如何解决如何从C中的文本文件读取数据
| 我有以下文本文件:ax: 0
ay: -9.8
x: 0
y: 50
vx: 8.66
vy: 6
我只想读取要用于计算的数值。有没有一种方法可以忽略字符串,而只读取浮点值?
这是我到目前为止的内容:
FILE *fp;
FILE *fr;
fr = fopen(\"input_data\",\"rt\");
fp = fopen(\"out_file.txt\",\"w\");
if(fr == NULL) {
printf(\"File not found\");
}
if(fp == NULL) {
printf(\"File not found\");
}
float ax = 0,ay = 0,x = 0,y = 0,vx = 0,vy = 0,time = 0,deltaTime = 0;
fscanf(fr,\"%f %f %f %f %f %f %f %f\\n\",&ax,&ay,&x,&y,&vx,&vy,&time,&deltaTime);
printf(\"%f %f %f %f %f %f %f %f\\n\",ax,ay,x,y,vx,vy,time,deltaTime);
解决方法
使用此代替:
fscanf(fr,\"ax: %f ay: %f x: %f y: %f vx: %f vy: %f\",&ax,&ay,&x,&y,&vx,&vy);
, 在字符串所在的位置使用%s。
样例代码:
#include <stdio.h>
main()
{
FILE *fp;
FILE *fr;
char junk[100];
fr = fopen(\"/tmp/x.txt\",\"rt\");
if(fr == NULL){ printf(\"File not found\");}
float ax = 0,ay = 0,x = 0,y = 0,vx = 0,vy = 0,time = 0,deltaTime = 0;
fscanf(fr,\"%s %f %s %f %s %f %s %f %s %f %s %f\\n\",junk,&vy);
printf(\"%f %f %f %f %f %f\\n\",ax,ay,x,y,vx,vy);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。