永发信息网

C语言,帮忙啊!

答案:2  悬赏:40  手机版
解决时间 2021-07-29 22:53

7.980968803167D-06-7.958078640513D-13 0.000000000000D+00-1.922528497212D+00
1.510000000000D+02-7.706250000000D+01 4.236247796996D-09-1.922528497212D+00
-4.094094038010D-06 1.224376657046D-02 9.084120392799D-06 5.153689567566D+03
1.800000000000D+05 1.601874828339D-07 5.144823948283D-03-1.341104507446D-07
9.616900133578D-01 2.031875000000D+02-2.213358636049D+00-7.747465780028D-09
-2.703683943395D-10 1.000000000000D+00 1.413000000000D+03 0.000000000000D+00
2.800000000000D+00 0.000000000000D+00-1.024454832077D-08 4.070000000000D+02
1.800000000000D+05

怎么把每一个数据读出来,一行四个数据,还有正负号。每一行前有三个空格,我遇到的问题主要是前面的空格问题。

下面是我的程序,每次开始读第二行开始就有问题。

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main()
{
FILE *fn;
char ch[50][21];
int i;
char b[5];
if((fn=fopen("1.txt","r")) ==NULL)
{
printf("cannot open YJS206.07n.\n");
exit(-1);
}
fgets(b,4,fn);

fgets(ch[0],20,fn);
printf("%s",ch[0]);
for(i=1;i<30;i++)
{
if(i%4==0)
{
fgets(b,4,fn);
}
fgets(ch[i],20,fn);
printf("%s ",ch[i]);
}

getch();

}

最佳答案
你的问题在于没有善用fgets(),建议你每次把一整行读进来再慢慢处理.
全部回答

如果文件不大的话最简单的方法是,你一个字符一个字符的读,然后遇到空格就跳过并准备向下一个数组变量里记录。

另外如果你有兴趣的话,可以每次读入一行,然后用正则表达式提取其中的数据。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
真正的朋友是怎样?!
是不是烯烃都有碳碳双键,烷烃都有碳碳单键?
AU 怎么样才能升级快
qq飞车雷诺怎么样?
前程无忧武汉分公司
青山区武汉市青山区王哥百货店这个地址怎么能
急求童话作文1000字左右
“终极”这个词是什么意思
炫舞伴侣戒指爱缠绵戒指怎么搭配效果好看?帮
我皮肤有点黑 单眼皮 用什么颜色的眼影比较好
从武汉坐火车可以直达池州么?
为什么打开百度的网页却自动蹦出狗狗网页来了
用matlab如何画分段函数的图.
6220手机直充是不是可以打开?打开插入普通插
兰考县开封三信名酒超市在哪里啊,我有事要去
推荐资讯
这是什么意思?啊
怎样弄免费的QQ装扮?
芙蓉区长沙英培留学咨询这个地址怎么能查询到
雕塑台在哪?
龙凤区大庆神洲驾校这个地址怎么能查询到,着
吃火龙果有什么好处?
楼房的橱房漏水了怎么办
Dreamweaver中单元格问题
五常市哈尔滨五常市农村信用合作社(第二储蓄
关于认识自己的诗句,有关认识自我价值的名言
3DS MAX激活
转区名额怎么那么少啊
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?