20
有没有一种很好的方式来循环与sscanf
字符串?如何在循环中使用sscanf?
比方说,我有一个字符串,它看起来像这样:
char line[] = "100 185 400 11 1000";
,我想打印的总和。我真的很想写的是:
int n, sum = 0;
while (1 == sscanf(line, " %d", &n)) {
sum += n;
line += <number of bytes consumed by sscanf>
}
,但有没有干净的方式来获得这些信息出来sscanf
。如果它返回了消耗的字节数,那很有用。在这样的情况下,可以只使用strtok
,但它会是不错的能够写入类似,你可以从stdin
做些什么事:
int n, sum = 0;
while (1 == scanf(" %d", &n)) {
sum += n;
// stdin is transparently advanced by scanf call
}
有一个简单的解决方案,我忘了?
+1,你打我吧。 – schot 2010-10-20 06:33:36
+1,你是怎么知道这个的? – 2010-10-20 07:55:09
@绿色代码:在我的情况'人sscanf'。 – schot 2010-10-20 10:18:59