作者Ctmate (City*Mate)
看板C_and_CPP
標題[問題] 讀檔要如何分兩次讀呢
時間Sat Oct 31 22:10:21 2009
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