c 语言如何读取文本文件中的数据~ 高手帮忙讲解下
我现在要实行从一个文本文件中读去数据 重新排列后 输出到另一个文件中~
我用的是 fscanf函数 为什么读取不到数据?麻烦高手解决下 谢谢~
#include <stdio.h>
main()
{int n=1;
float m=-1;
FILE *fp,*fp1;
char filename[2][20]; /*用来存放文件的地址和名字*/
do
{printf( "cannot open this file1\n please put in the name of file1: ");
scanf( "%s ",filename[1]);
} while((fp1=fopen(filename[1], "r "))==NULL); /*输入文件1的地址和名称,并按地址打开文件*/
do
{printf( "cannot open this file4\n please put in the name of file4: ");
scanf( "%s ",filename[0]);
} while((fp=fopen(filename[0], "w+ "))==NULL);
while(n <100)
{
fscanf(fp1, "%f ",&m);
fprintf(fp, (n%10==0? "%8f\n ": "%8f "), m);
n++;
}
printf( "n=%d \n ",n);
fclose(fp);
fclose(fp1);
}
输出的结果是 输出99个 M的初始-1~
谢谢高手 帮忙讲解下
[解决办法]
你这个程序应该没有问题,我拿过来到我的机器上试了试,可以运行的很好,没有问题....给你参考一下..
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int n=1;
float m=-1,m1,m2,m3,m4;
FILE *fp,*fp1;
char filename[2][20]; /*用来存放文件的地址和名字*/
do
{
printf( "cannot open this file1\n please put in the name of file1: ");
scanf( "%s ",filename[1]);
} while((fp1=fopen(filename[1], "r "))==NULL); /*输入文件1的地址和名称,并按地址打开文件*/
do
{
printf( "cannot open this file4\n please put in the name of file4: ");
scanf( "%s ",filename[0]);
} while((fp=fopen(filename[0], "w+ "))==NULL);
while(n <=5)
{
//fscanf(fp1, "%f ",&m);
//fprintf(fp, (n%10==0? "%8f\n ": "%8f "), m);
//cout < < "m = " < <m < <endl;
//fprintf(fp, "%.1f ", m);
fscanf(fp1, "%f %f %f %f %f ",&m,&m1,&m2,&m3,&m4);
n++;
}
printf( "%.1f,%.1f,%.1f,%.1f,%.1f ",m,m1,m2,m3,m4);
fprintf(fp, "%.1f %.1f %.1f %.1f %.1f ",m4,m3,m2,m1,m);
printf( "n=%d \n ",n);
fclose(fp);
fclose(fp1);
return 1;
}