看板 C_and_CPP 關於我們 聯絡資訊
aadd 1 2 as 2 (後面最多兩個數字) ze end //結束 ------ 要讀以上次資料 若為aadd則in=in+1+2,asub則in=in-2,ze則in=0。 想問的是要怎麼正確的讀裡面的資料 尤其是黃色的地方(判別是aadd還是as的地方) int main() { char s[5]; char p; int a,b; int in=0; FILE *fp = NULL; fp = fopen("input.txt", "r"); if(fp != NULL) { while(fgets(c , 3 , fp) != NULL) { p=s[0]; if(p='e') {break;} switch(p) { case('a'): p=s[1]; switch(p) { case('a'): fscanf(fp,"%d %d",&a,&b); in=in+a+b; break; case('s'): fscanf(fp,"%d %d",&a,&b); in=in-a-b; break; } break; case('z'): in=0; break; } printf ("in=%d",in); system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.249.122 ※ 編輯: Ctmate 來自: 140.113.249.122 (10/31 22:12) ※ 編輯: Ctmate 來自: 140.113.249.122 (10/31 22:29)
Ctmate:a、b 一直無法讀進去 10/31 23:26
sdyy:fgets 後面的c是啥 10/31 23:41
sdyy:應該是s吧 10/31 23:42
Ctmate:嗯 那是打錯 不過ab還是沒辦法正常讀取 11/01 00:04
Ctmate:所以我直接用fscanf(fp,"%s %d %d",&s,&a,&b) 11/01 00:05