| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6242 人关注过本帖
标题:fwrite和fread出现乱码
只看楼主 加入收藏
LSH744
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-10-15
收藏
 问题点数:0 回复次数:20 
fwrite和fread出现乱码
#include <stdio.h>
typedef struct z1
{
    int num;
    char name[12];
    float score;
    
}data;

int main(void)
{
   FILE *fp,*p;
   data *info;


   if ((fp=fopen("d:\\a.txt", "wb"))==NULL)
      
   {
     printf( "Cannot open input  file.\n");
      exit(1);
   }
   printf("\n input: \n ");
   info=(data *)malloc(sizeof(data));
   scanf("%d %s %f",&info->num,info->name,&info->score);
   printf("%d %s %f\n",info->num,info->name,info->score);

   fwrite(info,sizeof(data),1,fp);
   rewind(fp);
   fread(p,sizeof(data),1,fp);
   fprintf(fp,p);

}
搜索更多相关主题的帖子: fread fwrite 乱码 
2008-10-15 19:58
LSH744
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-10-15
收藏
得分:0 
在保存的文本中出现乱码,到底是为什么啊!
在保存的文本中出现乱码,到底是为什么啊!请高人指点迷精!
2008-10-15 20:00
shade1220
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-8-5
收藏
得分:0 
scanf("%d %s %f",&info->num,info->name,&info->score);
不需要“&”

踏踏实实学习,认认真真编程
2008-10-15 20:04
shade1220
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-8-5
收藏
得分:0 
好像还少个fclose();

踏踏实实学习,认认真真编程
2008-10-15 20:06
LSH744
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-10-15
收藏
得分:0 
不需要 & 那就不是一个地址了,你在运行就会内存益处的。你在自己看看,还是要谢谢你哦
2008-10-15 20:06
shade1220
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2008-8-5
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
typedef struct z1
{
    int num;
    char name[12];
    float score;
   
}data;

int main(void)
{
   FILE *fp;
   data *info;
   char str[30];


   if ((fp=fopen("d:\\a.txt", "wb"))==NULL)
      
   {
     printf( "Cannot open input  file.\n");
      exit(1);
   }
   printf("\n input: \n ");
   info=(data *)malloc(sizeof(data));
   scanf("%d %s %f",&info->num,info->name,&info->score);
   printf("%d %s %f\n",info->num,info->name,info->score);

   fwrite(info,sizeof(data),1,fp);
   rewind(fp);
   fread(str,sizeof(data),1,fp);
   fprintf(fp,str);
   fclose(fp);
}
这样你试下,现在把fprintf(fp,str);的第2个参数改成缓存区

踏踏实实学习,认认真真编程
2008-10-15 20:21
LSH744
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-10-15
收藏
得分:0 
还是有乱码,在说你定义一个数组做缓存,那有一定的局限行,当我要保存几千条结构体记录时,你开辟的缓存就有局限了。你加我QQ吧,273085302(要通过身份验证的,不好意思了。)
2008-10-15 20:25
tteet
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-10-14
收藏
得分:0 
没有fclose,写不进去的吧。
2008-10-15 20:50
飞天舞xsj
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-12-25
收藏
得分:0 
fwrite(info,sizeof(data),1,fp);
好像归根到底还是老问题,你将结构体变量整体赋值给文件,在结构体中将结构体变量整体拿来行动的行为,可是不允许的!!!

2008-10-15 21:04
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
[bo][un]飞天舞xsj[/un] 在 2008-10-15 21:04 的发言:[/bo]

fwrite(info,sizeof(data),1,fp);
好像归根到底还是老问题,你将结构体变量整体赋值给文件,在结构体中将结构体变量整体拿来行动的行为,可是不允许的!!!


我没听过不充许结构体变量整体赋值给文件啊?

简单的生活
2008-10-15 21:12
快速回复:fwrite和fread出现乱码
数据加载中...
 
   



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

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