C ++替代sscanf()

时间:2011-10-25 00:19:40

标签: c++ cin scanf

我有以下功能:

static void cmd_test(char *s)
 {
    int d = maxdepth;
    sscanf(s, "%*s%d", &d);
    root_search(d);
  }

如何以C ++方式实现相同的输出,而不是使用sscanf

1 个答案:

答案 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;