我有以下功能:
static void cmd_test(char *s)
{
int d = maxdepth;
sscanf(s, "%*s%d", &d);
root_search(d);
}
如何以C ++方式实现相同的输出,而不是使用sscanf
?
答案 0 :(得分:6)
int d = maxdepth;
sscanf(s, "%*s%d", &d);
读取一个字符串(不存储任何地方),然后读取十进制整数。使用流将是:
std::string dont_care;
int d = maxdepth;
std::istringstream stream( s );
stream >> dont_care >> d;