fscanf函数读取文本数据总是出错
文本数据可以读出来,但顺序总是乱的,比如我的数据是
0.632919 2.843643 1.025223 55 17 11 9
0.636337 2.841873 1.024307 20 14 9 6
0.635269 2.842697 1.023605 24 15 10 7
0.635330 2.842911 1.024857 52 15 10 7
0.632919 2.843643 1.025223 55 17 11 9
0.636337 2.841873 1.024307 20 14 9 6
0.632919 2.843643 1.025223 55 17 11 9
0.635330 2.842911 1.024857 52 15 10 7
读出来就变成了
0.632919 2.843643 55 55
0.636337 2.841873 52 20
0.635269 2.842697 1.023605 24
0.635330 2.842911 1.024857 52
0.632919 2.843643 1.025223 55
0.636337 2.841873 1.024307 20
0.632919 2.843643 1.025223 55
0.635330 2.842911 1.024857 52
六行数据则不会出错,行数越多则顺序越乱……
这是我的源代码:
#include "stdafx.h"
#include "stdlib.h"
#include "stdio.h"
#include"windows.h"
FILE *fp;
int main()
{
int i = 0, j = 0;
float x1[100000], y1[100000], z1[100000], fsl1[100000];
errno_t zhizhen;
zhizhen = fopen_s(&fp, "F:\\001.txt", "r");
if (zhizhen != 0)
printf("文件不能打开\n");
for (; fgetc(fp) != EOF; i++)
fscanf_s(fp, "%f%f%f%f", &x1[i], &y1[i], &z1[i], &fsl1[i]);
for (; j <i; j++)
printf("%f %f %f %f\n", x1[j], y1[j], z1[j], fsl1[j]);
getchar();
}
求教各位大大这是怎么回事啊
0.632919 2.843643 1.025223 55 17 11 9
0.636337 2.841873 1.024307 20 14 9 6
0.635269 2.842697 1.023605 24 15 10 7
0.635330 2.842911 1.024857 52 15 10 7
0.632919 2.843643 1.025223 55 17 11 9
0.636337 2.841873 1.024307 20 14 9 6
0.632919 2.843643 1.025223 55 17 11 9
0.635330 2.842911 1.024857 52 15 10 7
读出来就变成了
0.632919 2.843643 55 55
0.636337 2.841873 52 20
0.635269 2.842697 1.023605 24
0.635330 2.842911 1.024857 52
0.632919 2.843643 1.025223 55
0.636337 2.841873 1.024307 20
0.632919 2.843643 1.025223 55
0.635330 2.842911 1.024857 52
六行数据则不会出错,行数越多则顺序越乱……
这是我的源代码:
#include "stdafx.h"
#include "stdlib.h"
#include "stdio.h"
#include"windows.h"
FILE *fp;
int main()
{
int i = 0, j = 0;
float x1[100000], y1[100000], z1[100000], fsl1[100000];
errno_t zhizhen;
zhizhen = fopen_s(&fp, "F:\\001.txt", "r");
if (zhizhen != 0)
printf("文件不能打开\n");
for (; fgetc(fp) != EOF; i++)
fscanf_s(fp, "%f%f%f%f", &x1[i], &y1[i], &z1[i], &fsl1[i]);
for (; j <i; j++)
printf("%f %f %f %f\n", x1[j], y1[j], z1[j], fsl1[j]);
getchar();
}
求教各位大大这是怎么回事啊
...全文
相关推荐
read-file.c
c语言文件读写操作代码
C++文件读写函数介绍.pdf
C++文件读写函数介绍.pdf
C/C++读写文本文件、二进制文件的方法
今天小编就为大家分享一篇C/C++读写文本文件、二进制文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
c语言文件操作
叫你如何对文件进行操作!绝对物超所值,不要吝惜你的10个资源分
C语言全书word版CHAR13
13 文件 1 13.1 C文件概述 1 13.2 文件指针 2 13.3 文件的打开与关闭 2 13.3.1 文件的打开(fopen函数) 2 13.3.2 文件关闭函数(fclose函数) 4 13.4 文件的读写 4 13.4.1 字符读写函数fgetc和fputc 4 13.4.2 字符串读写函数fgets和fputs 8 13.4.3 数据块读写函数fread和fwtrite 9 13.4.4 格式化读写函数fscanf和fprintf 11 13.5 文件的随机读写 12 13.5.1 文件定位 12 13.5.2 文件的随机读写 13 13.6 文件检测函数 14 13.6.1 文件结束检测函数feof函数 14 13.6.2 读写文件出错检测函数 14 13.6.3 文件出错标志和文件结束标志置0函数 14 13.7 C库文件 14 13.8 本章小结 15


