關於用vc 編寫檔案輸入與輸出的程式

時間 2025-04-11 20:05:16

1樓:網友

#include

#include

#include

int main()

char *test[30];

int i;

char fw[30];

:memset(fw,0,30);

ofstream ofi;

ifstream ifi;

cout<<"請輸入你需要的文字:";

cin>>test[30];

cout<<"請輸入你所要儲存的檔名:";

cin>>fw;

for(i=0;i>fw[30].這句有問題,首先是fw[30]這個空間是未知的你並沒有分配,因為fw的 下標直到29.其次,你這樣只是給fw陣列的最後一位賦值了。

所以有錯誤。。

測試案例:第一次輸入 :dddddddddddd

第二次輸入:

那麼將在程式所在的資料夾下看到這個檔案,並且是正確 的 !

針對樓主的補充提問,我補充說明下,按照樓下的做法是沒有錯的 ,但是我 說一下為什麼上面我寫的有錯。

char *test[30];

這裡定義的是指標陣列。至於什麼是 指標陣列,如果你不懂,可以參考有關資料。

那麼cin>>test[30];

這句就是你把資料都寫到test[30]這個指標指向的 地方了。

for(i=0;i>test[30];

有兩個問題,這個陣列元素你並沒有定義,是不能使用的,在這裡之所以沒有出錯誤,因為他是乙個指標,指向的地方本身是沒有有用資料的。如果你的磁碟空間很滿,那麼這楊寫出現的問題的概率就很大了。所以你使用的下標不能》=30;

2test30];

這個指標你並沒有給他分配記憶體,也就是通常所謂的野指標,指向乙個未知的地方。應該new乙個記憶體。

這個指標使用的時候 有的時候會出現問題的。。一定要注意!!

2樓:網友

cin>>test[30];

cin>>fw[30];

這兩句有問題,換成。

cin>>test;

cin>>fw;

另外;中還應該加個引數,ios::out)還有下面的也要改。

for(i=0;iofi換成。for(i=0;iofi這會應該沒事了。

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

3樓:抄珠汪元凱

第乙個問題:

這程式有兩個問題:

讀入的格式與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]);

用指標編寫輸入字串逆序輸出,用指標編寫輸入一個字串逆序輸出

問明 include using namespace std char t t a a b b t void work char str int len strlen str for int i 0 i len 2 i int main const int maxlen 1e5 10 char s ...

用c語言編寫程式 輸入體重和身高,輸出體重指數

a羅網天下 例子如下 直接編譯,程式輸出結果中隨意輸入身高體重,程式執行結果如下圖所示 知識擴充套件 bmi指數 即身體質量指數,簡稱體質指數又稱體重,英文為body mass index,簡稱bmi 是用體重公斤數除以身高公尺數平方得出的數字,是目前國際上常用的衡量人體胖瘦程度以及是否健康的乙個標...

編寫程式,輸入一位學生的生日 輸出該生的實際年齡。

include main int y,m,d,y,m,d,y,m,d k printf 請輸入出生日期 printf 請輸入當前日期 y y y m m m d d d if d d ,m if m m ,y if y m m d d printf 日期輸入錯誤,請重新輸入!goto k print...