我正在尝试使用以下代码来读取括号内的第二个数字,但它不起作用,我正在关注此帖How to use sscanf in loops?中的方法。我调试我的代码,问题是它没有进入while循环,有人可以告诉我如何修复它吗?
#include <stdio.h>
#include <string>
int main(void)
{
std::string line = "(1:1.1) (2:18.5) (3:40.0) (4:11.0)";
char const *data = line.c_str();
int offset;
int index;
double value;
double sum = 0;
while (sscanf(data, " (%d:%lf)%n", &index, &value,&offset) == 1)
{
sum += value;
data += offset;
}
printf("sum = %d\n", sum);
}
答案 0 :(得分:1)
要打印double,你应该使用UITableViewCell
和scan一样,而不是检查sscanf是否返回1,你应该检查它何时返回大于0。
%lf