| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 573 人关注过本帖
标题:哪位大侠帮忙给解释一下(文件读取问题)
只看楼主 加入收藏
hzc_13
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2012-1-31
结帖率:71.43%
收藏
已结贴  问题点数:20 回复次数:5 
哪位大侠帮忙给解释一下(文件读取问题)
创建文件代码:
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
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:20 
我猜可能是因为写入的时候,balance和后面的account没有空格隔开,所以读取的时候就乱套了

酱油实习生
2012-02-11 20:59
hzc_13
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2012-1-31
收藏
得分:0 
明白了,少了一个换行
fprintf( cfPtr, "%d %s %.2f\n", account, name, balance );
兄弟一语惊醒梦中人,多谢了

2012-02-11 23:16
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:0 
回复 4楼 hzc_13
加油!

酱油实习生
2012-02-12 08:50
yxiangyxiang
Rank: 3Rank: 3
来 自:/\/\/\/\/
等 级:论坛游侠
帖 子:130
专家分:186
注 册:2012-1-29
收藏
得分:0 
#include <stdio.h>
int main()
{
    FILE    *fp;

    if( (fp=fopen("client.dat", "r"))==NULL )
    {
        printf(" Error1\n");
        exit( 0 );
    }
    whiel( !feof(fp) )
        printf("%c", fgetc(fp));
   
    fclose( fp );
    return 0;
}
2012-02-12 20:08
快速回复:哪位大侠帮忙给解释一下(文件读取问题)
数据加载中...
 
   



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

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