标题:哪位大侠帮忙给解释一下(文件读取问题)
取消只看楼主
hzc_13
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2012-1-31
结帖率:71.43%
已结贴  问题点数:20 回复次数:2 
哪位大侠帮忙给解释一下(文件读取问题)
创建文件代码:
void main()
{
   int account;
   char name[ 30 ];
   double balance;
   
   FILE *cfPtr;
   
   if( ( cfPtr = fopen( "clients.dat", "w" ) ) == NULL ){
      printf( "File could not be opened\n" );   
   }
   else{
      printf( "Enter account, name and balance\n" );
      printf( "Enter EOF to end\n" );
      printf( "? " );
      scanf( "%d%s%lf", &account, name, &balance );   
   }
   
   while( !feof( stdin ) ){
      fprintf( cfPtr, "%d %s %.2f", account, name, balance );
      printf( "? " );
      scanf( "%d%s%lf", &account, name, &balance );   
   }
   
   fclose( cfPtr );
}

读文件代码:
#include "stdio.h"

void main()
{
   int account;
   char name[ 30 ];
   double balance;
   
   FILE *cfPtr;
   
   if( ( cfPtr = fopen( "clients.dat", "r" ) ) == NULL ){
      printf( "File could not be opened\n" );   
   }
   else{
      printf( "%-10s%-13s%s\n", "Account", "Name", "Balance" );
      fscanf( cfPtr, "%d%s%lf", &account, name, &balance );   
   }
   
   while( !feof( cfPtr ) ){
      printf( "%-10d%-13s%7.2f\n", account, name, balance );
      fscanf( cfPtr, "%d%s%lf", &account, name, &balance );   
   }
   
   fclose( cfPtr );
}
但是运行的时候为什么不停地读出文件中的第一条信息,后面的为什么没有,本人是初学者,还请各位前辈不吝赐教!!不胜感激!!!
搜索更多相关主题的帖子: void account balance double opened 
2012-02-11 13:08
hzc_13
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2012-1-31
得分:0 
看来这里没有高手呀,还是问题太简单了
2012-02-11 20:48
hzc_13
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2012-1-31
得分:0 
明白了,少了一个换行
fprintf( cfPtr, "%d %s %.2f\n", account, name, balance );
兄弟一语惊醒梦中人,多谢了

2012-02-11 23:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-360733-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.730180 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved