我有一个linux盒子。
在这个 linux 机器上,有一个程序。
在这个程序中,我有一个这样的循环:
int num=*"what num needs to be"*;
char proc[num];
int result;
while (1) {
result=scanf("%[^'&']%s",proc);
printf("And proc is: %s\n",proc);
printf("Result counter was: %i\n",result)
if (result == 0) break;
}
scanf("%[^'&'],%s",proc)
printf("post lop result is: %s", proc);
您可能已经猜到了,stdin 包含我需要用 '&' 字符描述的数据。
正如我希望比我猜到的更熟练的人一样,输出看起来像:
And proc is: *first delineated section*
Result counter was: 1
And proc is: *first delineated section*
Result counter was: 0
post loop result is: *first delineated section*
我认为 scanf 应该消耗它已经读取的 stdin 部分。为什么不这样做?
另外,仅供参考:这是在一个非常便宜、速度慢的服务器上运行的。成交量可能会或可能不会变得非常轻微。因此,效率是一个加分项,我愿意但是有人可能会建议我这样做......
谢谢!