Welcome to Yumao′s Blog.
C语言文件IO(6)
, 2011年12月09日 , C Language , 评论 0 ,

很久沒寫關於C的文件IO了
今天來繼續好了
最近鬧情緒  發現看看C就忘記了
果然是滿喜歡C的原因嗎

先錢我們在第2篇的文件IO中講到過
用C語言進行文件複製操作
但是複製TXT文件的確沒問題
大家有操作過別的文件嗎
例如jpg  mp3  更例如exe文件
複製成功是應該的
但是複製完畢之後生成的文件缺無法打開
這是為什麼呢

主要原因還是讀取方式和寫入方式問題上
因為我們那篇採用的是字符方式讀取和寫入
但是我們用記事本打開此類文件發現都是亂碼
很有可能就會直接碰到“EOF”符導致操作結束
那怎麼辦呢
我們就可以採取使用2進制方式讀取寫入文件哦
對於文件讀寫方法大家應該都是知道的
這次我們將  r  a  修改成rb  wb再來試試吧~

修改後代碼如下:

#include “stdio.h”
main()
{
FILE* p=NULL;
FILE* q=NULL;
p=fopen(“7zip.exe”,”rb”);
q=fopen(“copy.exe”,”wb”);
int ch;
while((ch=fgetc(p))!=EOF)
{
fputc(ch,q);
}
return 0;
}
  

主意要點是ch的類型
上次因為是字符形所以採用的是char
這次因為是二進制類
所以採用int型哦~

关键字:, , ,

评论已关闭