| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 796 人关注过本帖
标题:[求助]数据输入输出的问题
只看楼主 加入收藏
lilulilu
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-11
收藏
 问题点数:0 回复次数:5 
[求助]数据输入输出的问题

程序是这样的
#include<stdio.h>
main()
{
char *m[1000];
FILE *fp,*fp1;
fp=fopen("test.dat", "r"); /*打开文字文件只读*/
fp1=fopen("test1.dat", "w+");
fread(m,sizeof(char),70,fp);
fwrite(m,sizeof(char),70,fp1);
fclose(fp);
fclose(fp1);
}

文件夹下先建一个test.dat,内容为
Your score of TOEFL is:617
That's good news

运行完,生产新文件test1.dat,内容为
Your score of TOEFL is:617
That's good news
烫烫烫烫烫烫烫烫烫烫烫烫

就是会出现乱码。文件有43个字符,把原程序的70改成43,44,45,都没问题,可是数字一大就有乱码,这是为什么?
这是一个数据从一个文件读到另一个文件的问题,我想做的就是不断读入数据进行计算,而前面生成的文件是计算得来得,不可能先知道文件长度得,那我应该怎么办?

还有:既然fread(),fwrite(),可以完成文件得任何数据得读/写操作,那么都用这两个就好了,为什么还要用fgetc(),fputc()这些命令呢?

可能我的问题太简单了,可是你能帮帮我指点一下真的可以给我很大帮助,现在我是迷迷糊糊的。谢谢了~

搜索更多相关主题的帖子: TOEFL 数据 char 输出 
2006-10-11 10:14
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

字符数组的长度不确定的 指定位置的空间没有初始化就会有乱码
如果读入一个块像结构体那样用fread()和fwrite() 比较方便
这个题用 getc() 和putc()就可以了

while(!feof(fp)) fputc(fgetc(fp),fp1);


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-11 17:08
lilulilu
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-11
收藏
得分:0 
哦。知道了,谢谢斑竹

2006-10-11 18:45
lwei
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:197
专家分:369
注 册:2005-5-4
收藏
得分:0 
fread和fwrite是按照你设定的长度对文件进行读写, 解决这个问题的最简单方法是先对数组进行初始化,用memset,

2006-10-11 20:20
小饼饼
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-10-19
收藏
得分:0 

为什么我把楼主的代码copy下来在turboc2中运行都出不来结果呀,出来的是Null pointer assignment;希望哪位高手帮忙解答一下。谢谢!

[此贴子已经被作者于2006-10-20 11:11:54编辑过]

2006-10-19 17:16
lilulilu
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-11
收藏
得分:0 

文件夹下先建一个test.dat,内容为
Your score of TOEFL is:617
That's good news


2006-10-22 16:05
快速回复:[求助]数据输入输出的问题
数据加载中...
 
   



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

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