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