用c語言的函式建立開啟和讀寫檔案

時間 2022-03-08 14:29:05

1樓:

#include

int main(void)

out = fopen("out.txt","w");

if(out == null)

printf("read from the in file\n");

fread(buf,1,1024,in);

printf("write to the out file\n");

fwrite(buf,1,1024,out);

return 0;}

2樓:環錦辜曉彤

艹,五次輸入**顯示不出來。樓上正解。

file

*fp;

fp=fopen(filename,

用c語言建立乙個txt檔案,並且寫入資料

3樓:匿名使用者

#include

#include

#include

int main(void)

;printf("請輸入儲存的路徑:");

scanf("%s",path);

int n=6;

f=fopen(path,"w+");

fprintf(f,"yes you are right \n");

fprintf(f,"y=4+%d\n",n);

fclose(f);

printf("已經儲存,快去看吧");

system("pause");

return 0;}

4樓:dota要有平常心

#include

using namespace std;

void main()

string str = "yes you are rigth !\n";

fwrite(str.c_str(),str.length(),sizeof(char),fout);

char buf[56];

memset(buf,0,56);

sprintf(buf,"y=4+%d\n",x);

str = string(buf);

fwrite(str.c_str(),str.length(),sizeof(char),fout);

fclose(fout);}

如何用c語言fopen函式實現這樣的檔案開啟功能?

5樓:匿名使用者

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;}

6樓:文正

用system()把路徑寫裡面.如d:\1\2\3\4\5.txt

system("d:\\1\\2\\3\\4\\5.txt");這樣就可以在開啟這個文字檔案了.fopen是把檔案內容載到記憶體中.

c語言fopen函式中檔案開啟方式(引數值)

7樓:匿名使用者

c語言fopen函式用於開啟檔案。

函式原型:file * fopen(const char * path,const char * mode);

引數:path 字串型別,表示檔案所在的路徑,包括檔名

mode 開啟檔案的模式、

返回值:檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤**存在errno 中。

mode:

r 以唯讀方式開啟檔案,該檔案必須存在。

r+ 以可讀寫方式開啟檔案,該檔案必須存在。

rb+ 讀寫開啟乙個二進位制檔案,允許讀寫資料,檔案必須存在。

w 開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。

w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。

a 以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。(eof符保留)

a+ 以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。 (原來的eof符不保留)

wb 只寫開啟或新建乙個二進位制檔案;只允許寫資料。

wb+ 讀寫開啟或建立乙個二進位制檔案,允許讀和寫。

ab+ 讀寫開啟乙個二進位制檔案,允許讀或在檔案末追加資料。

例項:#include

#define f_path "d:\\myfile\\file.dat"

int main(void)

fclose(fp);

fp=null;//需要指向空,否則會指向原開啟檔案位址

return 0;}

8樓:匿名使用者

你試一下,加一句:

#include

看一下,會不會消那個錯.

c語言以二進位制方式開啟的檔案可以使用fread 和fwrite 讀寫,那麼以文字方式開啟的檔案用什麼函式組合??

9樓:風若遠去何人留

一樣的。

使用何種開啟方式,和你讀寫用的介面函式沒有什麼關係。

不管用什麼開啟,都可以用fread fwrite來讀寫。

二進位制和文字的區別,主要在於fgets和fputs上有區別。其它的都一樣。

10樓:

同樣可以用這對函式讀寫

只不過是開啟的方式不同而已。另外,普通對檔案的讀寫可以直接用文字方式讀寫。

二進位制傳輸可能準確度稍高而已

c語言如何實現對txt檔案的讀取和寫入

11樓:匿名使用者

使用fopen的r方式可以實現讀取,用w+方式可以實現寫入。

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.dat"

char c;

int main()

12樓:匿名使用者

寫入檔案:

#include

int main(void)

從檔案讀取:

#include

int main(void)

如何用c語言建立乙個新檔案

13樓:匿名使用者

c語言可以通過fopen函式建立乙個新檔案。

細節如下:

使用fopen需要新增標頭檔案 #include

建立乙個新的二進位制檔案的語句如下:file *fp=fopen("檔名", "wb");

該函式詳細說明如下:

函式原型:file * fopen(const char * path,const char * mode);

返回值:檔案順利開啟後,指向該流的檔案指標就會被返回。如果檔案開啟失敗則返回null,並把錯誤**存在errno中。

引數說明:

引數path字串包含欲開啟的檔案路徑及檔名,引數mode字串則代表著流形態。

mode有下列幾種形態字串:

r 以唯讀方式開啟檔案,該檔案必須存在。

r+ 以可讀寫方式開啟檔案,該檔案必須存在。

rb+ 讀寫開啟乙個二進位制檔案,允許讀寫資料,檔案必須存在。

w 開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。

w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。

a 以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。

a+ 以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。

wb 只寫開啟或新建乙個二進位制檔案;只允許寫資料。

wb+ 讀寫開啟或建立乙個二進位制檔案,允許讀和寫。

ab+ 讀寫開啟乙個二進位制檔案,允許讀或在檔案末追加資料。

例子**

file *fp;    //定義檔案指標

fp=fopen("d:\\out.txt","w");//開啟檔案

//寫檔案的**

fclose(fp);

//關閉檔案

用c語言建立檔案,用C語言建立檔案

不知道你的34234是個什麼東西,我就當字串處理了,問題不清楚沒有辦法 include int main fputs 34234 fp 寫入34234資料 fclose fp if fp fopen 33.ch wb null 建立33.ch檔案 fclose fp return 0 靈 火 inc...

用c語言編寫n!的函式,用C語言編寫乙個n!的函式

include void main 其中輸入n的時候別輸太大,你知道計算機中整型數大小是有上限的,再大就溢位了,或者把pro改成long也可以能接收的n大一點點,其實沒什麼用,當作習題練習吧 大連理工學生。11 39916800 12 479001600 13 6227020800 14 87178...

c語言中rand 函式怎麼用

rand函式功能為獲取乙個偽隨機數 偽隨機數的概念下面會有介紹 一 函式名 rand 二 宣告 int rand 三 所在標頭檔案 stdlib.h 四 功能 返回乙個偽隨機數。之所以說是偽隨機數,是因為在沒有其它操作下,每次執行同乙個程式,呼叫rand得到的隨機數序列是固定的 不是真正的 隨機 五...

c語言函式宣告的位置的問題,C語言函式宣告的位置的問題

如果被引用函式在其他檔案中定義的,就在主函式外宣告 如果是在該檔案中定義的,就應當在主函式中宣告。你的幾個函式都是在乙個檔案中定義的,所以應當在main 中宣告 希望對你有用!下面的程式對add函式的定義並沒有放在主函式裡面,而是在主函式結束以後才定義的。你可以仔細看一下下面的程式。你如果把disp...

c語言函式的遞迴呼叫,C語言的函式巢狀呼叫與函式遞迴呼叫有什麼區別

是的,區域性變數會新定義一次,不過僅侷限於區域性變數 全域性變數和靜態變數都是全域性的,要是還沒學暫時不用管 並不能說是 同時 應該說是 同樣 時間上肯定是按照呼叫的先後順序的。遞迴確實會讓程式變慢,但只是相對於不需要遞迴的等價 而且原因也不是記憶體分配導致的,而是因為函式呼叫產生的。這個遞迴呼叫怎...