【求助】vc讀檔的問題



贊助商連結


金田一
2003-04-13, 12:51 PM
請問各位高手:我想要把筆記本的數字讀到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

贊助商連結


Lucas Chen
2003-04-20, 04:09 AM
我對C是外行...但是
看來是資料型態不符吧...

timas
2003-05-06, 02:54 AM
你的宣告
char ch2,ch3;
你的指令
fscanf(fp1,"%s\n",&ch2);
為什麼你會把字串讀到字元去
存放空間不夠 程式就不應該正確

金田一
2003-05-14, 10:27 PM
再請問大大:
我用VC寫一個程式:但執行結果卻顯示Unhandled exception in
HW2.exe:0x0000005:Access Violation

please enter the path for ATOF.C

是發生什麼事,怎麼辦????


謝謝回答