永发信息网

fread和fwrite函数

答案:1  悬赏:60  手机版
解决时间 2021-07-19 05:21


#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>

#define LEN 81
#define SIZE 1024
int main()
{
FILE *fs,*ft; //fs是源文件,ft是目标文件
char name[LEN]; //被复制文件名
char name_t[LEN+12]="复件"; //目标文件名
char temp[SIZE];
int n;

fputs("输入文件名:",stdout);
gets(name);

if((fs=fopen(name,"rb"))==NULL)
{
fprintf(stderr,"不能打开文件 %s\n",name);
exit(EXIT_FAILURE);
}
strcat(name_t,name); //创建新文件
if((ft=fopen(name_t,"wb"))==NULL)
{
fprintf(stderr,"不能打开文件 %s\n",name);
exit(EXIT_FAILURE);
}


while((n=fread(temp,sizeof(char),SIZE,fs))>0)
fwrite(temp,sizeof(char),n,ft);

fclose(fs);
fclose(ft);

getch();
return 0;
}

这是个文件复制程序

针对

while((n=fread(temp,sizeof(char),SIZE,fs))>0)
fwrite(temp,sizeof(char),n,ft);

为什么sizeof(char)改成别的数值就不能正常工作?这里的数值到底怎么用,就是说,什么时候用 sizeof(char),什么时候用sizeof(double),如果一个文件里全装的是double型数值,用sizeof(char)有没有问题?

程序里的SIZE是1024,要是读取的文件<1024个字节呢,书上说,如果正确运行则这个值好像是=n的,何解?

请指教!!!,共同学习的+(842673178)

最佳答案
fwrite和fread两个函数的第二个参数都是指定一次读取多少个字节,如果你用sizeof(char)是一次读取一个字节,那么SIZE这个变量就要发生变化
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有什么好听的英文歌曲和韩文的???
女生讨厌男生的表现
哪首慢摇比较有很强的节奏感、听着富有**、动
怀孕的女人需注意哪些细节?
彗星的彗尾是咋弄的?“太阳光光压压”是什么?
人是、为爱自己的人活着么
冷水洗脸对皮肤好吗?
我想买1-2W之间的钢琴,谁能给点建议呢?5 [
宁波的如何去报浙江会计省考?
艾伦.获加在诺亚方舟里弹的钢琴音乐是什么?
海豚象征着什么?
向各类杂志投稿笑话需要什么技巧吗?
做恶梦,醒来头就很痛,这是为什么?
在那里下载中文系统好?
我是女,1979年8月26日出生,想问一下我的婚姻
推荐资讯
科学解释“鬼压床”?举例说明下…
I’m going back home.
问问把级升满,能成管理员吗?
函数是怎么算的
人教版九年级上册《化学》的练习类教辅书哪本
我追一个女孩很长时间啦~她现在也很喜欢我~
农历四月十怀孕的预产期是什么时候?
问问怎样换QB啊
海尔手机500圆以下机型
6分之5减3分之2的和乘十分之九怎么简算?
地下城的邀请函怎么用?
QQ华夏装备合成,浮石有什么用?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?