首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c 语言怎么读取文本文件中的数据~ 高手帮忙讲解下

2012-03-15 
c 语言如何读取文本文件中的数据~ 高手帮忙讲解下我现在要实行从一个文本文件中读去数据重新排列后输出到

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;
}

热点排行