如何以輸入輸出的方式開啟檔案使檔案可讀可寫(c )

2025-03-15 05:35:24 字數 2351 閱讀 6621

1樓:網友

已測試,以下**是可行的。

#include

#include

#include

#include

#include

using namespace std;

ifstream infile("" ,std::ios::in) ;

fstream file("" ,fstream::in|fstream::out) ;

int main()

int time=0;

file>>time;

outfile<<"第"讀入後要記得清空。

fstream::beg);

file<

2樓:網友

fstream file("" ,ios::in|ios::out) ;

改為: ifstream file("" ,ios::in|ios::

out);開啟檔案後需要確認讀寫指標的位置,方法返回當前位置,方法設定檔案指標位置,要讀取第乙個字元時,應該這樣設定指標: ;

c語言開啟檔案,要實現讀取再寫入,用哪種開啟方式?

3樓:寇興有鄞辛

wt+wb+寫入時都是將原來的檔案覆蓋的,也就是刪除了。你可以採用r+的方式,你也可以好好理解下面的幾種情況試試看,我還沒有時間試過一遍。

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

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

rb+讀寫開啟乙個二進位檔案,只允許讀寫資料。

rt+讀寫開啟乙個文字檔案,允許讀和寫。

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

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

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

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

原來的eof符不保留)

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

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

wt+讀寫開啟或建立乙個文字檔案;允許讀寫。

at+讀寫開啟乙個文字檔案,允許讀或在文字末追加資料。

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

4樓:羅秀榮系夏

fopen("","w")

沒有這種開啟方式。

當用fseek()時,假設此時指標位置已有資料,寫入後是覆蓋但是會導致前面的部分被清0

一般只能全部讀出,然後再寫入,除非這個檔案的資料儲存格式你自己定義。

5樓:哀興宰鶯

r+/rb+(檔案須存在)。

如果要追加讀寫,用a+/ab+(檔案不存在時新建)。

其它可以參考這裡。

乙個關於c語言檔案輸入輸出的程式問題 高分懸賞

6樓:抄珠汪元凱

第乙個問題:

這程式有兩個問題:

讀入的格式與txt檔案不符。你的txt是用空格來分隔數字的,而程式卻用逗號。

讀入的行數沒有記錄,導致p和c兩個陣列中,大量空元素也被輸出。

程式可以這樣改:

#include

#include

voidmain()

fclose(in);/關閉原始檔*/

for(i=0;iprintf("%f,%f",p[i],c[i]);

double

a=,m=,b=,n=,rw=;

for(i=0;ip[i]=pow((double)(a*b*rw)/(p[i]*pow((double)c[i],(double)m)),1/n);

out=fopen(outfile,"w");

處理完成,開始輸出到outfile檔案*/for(i=0;

ii++)fprintf(out,"%f",p[i]);

fclose(out);

elseprintf("can

notopen

infile");

第二個問題:

如果只想要一列,不把東西寫入陣列c就行:

兩個%f,但是隻儲存第乙個,第二個遺棄。

double

no_use;

fscanf(in,"%f

f",&p[x++]no_use);

輸出時候:fprintf(out,"%f",p[i]);

C語言中如何實現多組資料輸入輸出

c語言中有一個 標準輸入函式,即 scanf函式,它可以讀取輸入的任意格式版型別的資料。scanf函式也有返 權回值,返回型別為int型別,它返回成功讀入的專案的個數。如果它沒有讀取任何專案 當它期望一個數字而您卻鍵入了一個非數字字串時就會發生這種情況,scanf 會返回0。當它檢測到 檔案結尾 e...

c語言如何不使用陣列輸入輸出一組資料?

不用陣列,可以用向量。include include using namespace std void main while int a 動態分配記憶體,實際上還是陣列。或者連結串列。typedef struct linklink main link t null for t head next t...

O埠地址是如何分配的,各種輸入輸出裝置地址如何確定的呢?需要看哪方面的書

對於微機,早已定死,dos時代就確定了,串列埠 並口 鍵盤 滑鼠 音效卡 顯示卡 硬碟 光碟機 軟碟機都有自己的地址和中斷。書店中找一下比較老的dos書籍,很快就懂了,簡單,不難的。二對於小型機 大型機 專用伺服器等等,每個廠商 品牌都不同,需要區別對待,基本上只能看對應廠商的技術資料,絕大多數都是...