[問題] feof的讀檔
遇到的問題: (題意請描述清楚)
用feof讀一個txt檔,不過只要txt檔標記儲存在data的結尾而不是存在按一個enter鍵(\n)
就不會得到多讀到一列<==我覺得問題所在。ps:若多讀一列,會跟最後一最相同。
希望得到的正確結果:
希望在txt檔尾巴,不管按幾個enter鍵,皆不會多讀一列
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
dev-c++
自已的code: (請善用置底文標色功能)
#include<stdio.h>
#include<stdlib.h>
int a,b;
double A[3],B[3];
void change(void);
int main(int argc,char* argv[]){
FILE *reak,*write;
read = fopen(argv[1],"r"); //argv[1]就是要讀的txt檔
write = fopen(argv[2],"w"); //argv[2]就是要寫出的txt檔
if(read != NULL){
a = atoi(argv[2]); //以下這兩行為座標轉換需要用的,不需理它
b = atoi(argv[3]);
while(!feof(read)){ //判別是否讀到檔尾
fscanf(read,"%lf %lf %lf",&A[0],&A[1],&A[2]);//讀取txt檔,一列三數字
chang(); //座標轉換,可以不予理會
fprintf(write,"% 10.8lf\t% 10.8lf\t% 10.8lf",B[0],B[1],B[2]); //寫出另一
txt檔
} //end while
fclose(read);
fclose(write);
} //end if
else{
printf("please check a data path\n");
}
system("pause");
return 0;
} //end main
========皆下來是change()的座標轉換副涵式================
補充說明:
小弟新手,不要鞭太大力,想問各位高手,哪裡還可以做判斷可以得到若後面無數據不要
再讀了>"<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.66.13
※ 編輯: ilemon 來自: 140.115.66.13 (06/22 21:58)
推
06/22 22:00, , 1F
06/22 22:00, 1F
→
06/22 22:01, , 2F
06/22 22:01, 2F
※ 編輯: ilemon 來自: 140.115.66.13 (06/22 22:02)
→
06/22 22:04, , 3F
06/22 22:04, 3F
推
06/22 23:55, , 4F
06/22 23:55, 4F
→
06/22 23:55, , 5F
06/22 23:55, 5F
→
06/23 00:24, , 6F
06/23 00:24, 6F
→
06/23 00:24, , 7F
06/23 00:24, 7F
→
06/23 00:29, , 8F
06/23 00:29, 8F
→
06/23 00:29, , 9F
06/23 00:29, 9F
→
06/23 00:32, , 10F
06/23 00:32, 10F
→
06/23 00:37, , 11F
06/23 00:37, 11F
→
06/23 00:38, , 12F
06/23 00:38, 12F
→
06/23 00:45, , 13F
06/23 00:45, 13F
→
06/24 01:11, , 14F
06/24 01:11, 14F