為什麼c語言保存不了文件
『壹』 C語言保存txt文件的問題
C語言使用fopen函數打開txt文件,使用fclose函數關閉並保存txt文件。
1.fopen的函數原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);
fopen函數的第一個參數是文件路徑,第二個參數是打開方式,有以下幾種方式:
r
以只讀方式打開文件,該文件必須存在。
r+
以可讀寫方式打開文件,該文件必須存在。
rb+
讀寫打開一個二進制文件,允許讀數據。
rw+
讀寫打開一個文本文件,允許讀和寫。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+
以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
(原來的EOF符不保留)
wb
只寫打開或新建一個二進制文件;只允許寫數據。
wb+
讀寫打開或建立一個二進制文件,允許讀和寫。
wt+
讀寫打開或著建立一個文本文件;允許讀寫。
at+
讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+
讀寫打開一個二進制文件,允許讀或在文件末追加數據。
上述的形態字元串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b
字元用來告訴函數庫打開的文件為二進制文件,而非純文字文件。
返回值:文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。
2.常式:
#include
#define F_PATH "d:\\myfile\\file.txt"
char c;
int main(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp) return -1;//要返回錯誤代碼
while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //從文本中讀入並在控制台列印出來
fclose(fp);
fp=NULL;//需要指向空,否則會指向原打開文件地址
return 0;
}
『貳』 關於C語言中文件保存保存不了為什麼 請高手幫幫忙,謝謝。
開始寫出判斷文件是否存在然後
在裡面寫下
fclose(fp);
『叄』 關於C語言中文件保存保存不了
if((fp=fopen("成績管理.txt","wb"))==NULL)
{
printf("無法打開此文件 ");
return;
}
『肆』 C語言怎麼保存到磁碟,為什麼我這個總顯示can not open file
if((fp=fopen("f:\\adresslist","wb"))==NULL){};
如果文件打開失敗,你的程序要求 顯示can not open file。例如,F盤不存在,防寫,沒有許可權。
if((fp=fopen("f:\\adresslist","rb"))==NULL){}
如果文件不存在,或沒有關閉,仍在別的程序使用中,也會打開失敗。
另外,非 unix 系統,文件名最好帶擴展名,例如 adresslist.txt