C语言 将某文件以二进制形式打开,二进制数据存入一维数组中!急急急! 100

再对数组进行处理,最后再把数组存入另一文件里,最好有能调通的代码参考一下,对数据的处理可以不写。这个文件可以是图片、音频,经处理后依然保存为图片或音频,文件地址为CStr... 再对数组进行处理,最后再把数组存入另一文件里,最好有能调通的代码参考一下,对数据的处理可以不写。
这个文件可以是图片、音频,经处理后依然保存为图片或音频,文件地址为CString型,数组的长度要根据文件来生成(数组里都是二进制,要定义什么类型?)
展开
 我来答
ATF144X
推荐于2018-04-26 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5344
采纳率:77%
帮助的人:4654万
展开全部
文件以二进制方式打开,如果文件中存在二进制的0x00,就不能用fgetc()这样的函数去读取文件!fgetc只能处理文本的!同样的也不能用fputs()写二进制数据!只能用fread和fwrite来读文件和写文件!
迂堂派
2012-07-02 · 知道合伙人软件行家
迂堂派
知道合伙人软件行家
采纳数:335 获赞数:1062
西南大学电子与通信工程专业。热爱 IT,喜欢阅读~

向TA提问 私信TA
展开全部
#include<stdio.h>
#include<stdlib.h>
void dd()
{
}//待写
main()
{
FILE *fp1,*fp2;
int i=0;
char aa[100],ch;
if((fp1=fopen("F:\\a.dat","rb+"))==NULL)
{
printf("cannt open F:\\a.dat\n");
exit (0);
}
else printf("成功打开a.dat!\n");
while(ch=fgetc(fp1)!=EOF)
aa[i++]=ch;
if(fclose(fp1)==0)
printf("已关闭a.dat!\n");
else printf("Error occured!\n");
dd();
if((fp2=fopen("F:\\b.dat","wb+"))==NULL)
{
printf("cannt open F:\\b.dataaa\n");
exit (0);
}
else printf("成功打开b.dat!\n");
if(fputs(aa,fp2)==0) printf("success!\n");
else printf("Error occured!\n");
if(fclose(fp2)==0)
printf("已关闭b.dat!\n");
else printf("Error occured!\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华歌诗
2012-07-02 · TA获得超过292个赞
知道小有建树答主
回答量:373
采纳率:100%
帮助的人:187万
展开全部
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("d:\\jrzh\\example\\c1.txt","ab+"))==NULL) //注意ab+以二进制打开
{
printf("\n不能打开!");
getch();
exit(1);
}
ch=fgetc(fp); //存入数组
while(ch!=EOF) //显示数据
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式