作者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)
1F:→ Ctmate:a、b 一直无法读进去 10/31 23:26
2F:→ sdyy:fgets 後面的c是啥 10/31 23:41
3F:→ sdyy:应该是s吧 10/31 23:42
4F:→ Ctmate:嗯 那是打错 不过ab还是没办法正常读取 11/01 00:04
5F:→ Ctmate:所以我直接用fscanf(fp,"%s %d %d",&s,&a,&b) 11/01 00:05