1樓:刺友互
1、新建一個fopen函式的使用專案。
2、包含需要用到的標頭檔案。
3、輸入_tmain函式。
4、在msdn上,檢視fopen的函式原型。
5、輸入fopen函式。
6、定義一個file型別的指標變數f,並接受返回值。
7、使用if語句判斷檔案是否開啟成功。
8、按快捷鍵f5,執行程式,檢視結果。
2樓:go陌小潔
①檔案不存在;
②檔名錯誤,開啟檔案的名字應該寫成"c:\\file.txt",而不是"c:\file.txt";
③**錯誤;
fopen函式用於開啟檔案並獲取檔案的指標,以便對檔案進行操作。
函式原型:file * fopen(const char * path,const char * mode);
引數:path字串包含欲開啟的檔案路徑及檔名,引數mode字串則代表著流形態。
mode有下列幾種形態字串:
r 以只讀方式開啟檔案,該檔案必須存在。
r+ 以可讀寫方式開啟檔案,該檔案必須存在。
rb+ 讀寫開啟一個二進位制檔案,允許讀寫資料,檔案必須存在。
w 開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。
w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。
a 以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。(eof符保留)
a+ 以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。 (原來的eof符不保留)
wb 只寫開啟或新建一個二進位制檔案;只允許寫資料。
wb+ 讀寫開啟或建立一個二進位制檔案,允許讀和寫。
ab+ 讀寫開啟一個二進位制檔案,允許讀或在檔案末追加資料。
上述的形態字串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b 字元用來告訴函式庫以二進位制模式開啟檔案。如果不加b,表示預設加了t,即rt,wt,其中t表示以文字模式開啟檔案。由fopen()所建立的新檔案會具有s_irusr|s_iwusr|s_irgrp|s_iwgrp|s_iroth|s_iwoth(0666)許可權,此檔案許可權也會參考umask值。
有些c編譯系統可能不完全提供所有這些功能,有的c版本不用"r+","w+","a+",而用"rw","wr","ar"等,讀者注意所用系統的規定。
返回值:
檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤**存在errno中。
一般而言,開啟檔案後會做一些檔案讀取或寫入的動作,若開啟檔案失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()後作錯誤判斷及處理。
示例:以只讀方式開啟檔案
#include
#define f_path "d:\\myfile\\file.dat"
int main(void)
fclose(fp);
fp=null;//需要指向空,否則會指向原開啟檔案地址
return 0;}
3樓:金色潛鳥
如果開啟來讀,檔案不存在,或檔案路徑錯,或沒有檔案的訪問權。
如果開啟來寫,資料夾是否允許寫,檔案是否存在,但有防寫。
file *fp;
fp = fopen(...);
用 返回的 fp 可以判斷 開啟是否成功: if (!fp) printf("open error!\n");
4樓:齊霸王在江湖夢
in = fopen("d:\\a.txt","r");
out = fopen("d:\\b.txt","w");
追問:那陣列為什麼不用加轉義字元啊?
追答:你用scanf函式的時候,當輸入\的時候,編譯器會自動認為是字元'\'
但是字串「d:\a.txt」裡面的『\』被認為是轉義字元的標誌。
這是它們的區別。
5樓:海盜船長娘娘
轉義字元 多加一個 「\」。
6樓:
scanf輸入的分別為d:\a.txt d:\b.txt
改成d:\\a.txt 和 d:\\b.txt
7樓:匿名使用者
in = fopen("d:\a.txt","r");
out = fopen("d:\b.txt","w");*****************d盤下的檔案a.txt和b.txt,檔名不要加.txt。
C語言中fopen函式開啟檔案後,檔案以何種方式讀入記憶體
星月小木木 c語言fopen函式用於開啟檔案。函式原型 file fopen const char path,const char mode 引數 path 字串型別,表示檔案所在的路徑,包括檔名 mode 開啟檔案的模式 返回值 檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回...
怎麼用c語言中的fopen函式開啟bmp格式的影象檔案
include include int main while iread fread szbuf,1,sizeof szbuf fpphoto 0 fwrite szbuf,1,iread,fptarget while iread fread szbuf,1,sizeof szbuf fptext ...
檔案打不開,檔案打不開,怎麼辦 急
1 開啟我的電腦,依次點選 工具 資料夾選項 點選 檢視 標籤 2 去掉 隱藏已知檔案型別的副檔名 前面的勾 3 選擇 顯示所有檔案和資料夾 並且去掉 隱藏受保護的作業系統檔案 推薦 當彈出警告時,選擇 是 4 在我的電腦上單擊右鍵,選擇 資源管理器 在左側的 資料夾 下面單擊你的u盤 主要是怕雙擊...