| 會員 ![]() | 【求助】vc讀檔的問題 請問各位高手:我想要把筆記本的數字讀到vc上.筆記本的資料是:36.25, 27.3, -35.2, 0 ,27, -3.14, 24.87, 9.14, 5.82, 154.8, E讀到E停上並算出共有若干組數字, 以下是我打的程式: #include<stdio.h> #include<stdlib.h> void main(void) { float ch1,sum=0; char n,number=0; char ch2,ch3; FILE *fp1; FILE *fp2; fp1=fopen("hw1.txt","r"); fp2=fopen("ans1.txt","w"); for (n=-1;n<number;n++) { fscanf(fp1,"%s\n",&ch2); printf("ch2:%s\n",ch2); ch1=atof(&ch2); { if(ch1>0) { sum=sum+ch1; } if ((ch3=fgetc(fp1)!='E') number=number+1; } } fprintf(fp2,"number=%d",number); fprintf(fp2,"sum=%f",sum); fclose(fp1); fclose(fp2); } 營幕上列出ch2:36.25 7.3 35.2 27 3.14 4.87 .14 .82 54.8 但正確的ch2是:36.25 27.3 0 -35.2 27 -3.14 24.87 9.14 5.82 154.8 E 為什麼ch2讀出來不對?? 執行結果:number=1sum=169.52 但真正結果:number=10sum=285.18000 |
| 回覆 |
| 會員 ![]() | 我對C是外行...但是 看來是資料型態不符吧... |
| 回覆 |
| 我的咪咪 ![]() | 你的宣告 char ch2,ch3; 你的指令 fscanf(fp1,"%s\n",&ch2); 為什麼你會把字串讀到字元去 存放空間不夠 程式就不應該正確 |
| 回覆 |
| 會員 ![]() | 再請問大大: 我用VC寫一個程式:但執行結果卻顯示Unhandled exception in HW2.exe:0x0000005:Access Violation please enter the path for ATOF.C 是發生什麼事,怎麼辦???? 謝謝回答 |
| 回覆 |
| |
| XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。