C++替代sscanf()

use*_*900 1 c++ scanf cin

我有以下功能:

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

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

K-b*_*llo 6

int d = maxdepth;
sscanf(s, "%*s%d", &d);
Run Code Online (Sandbox Code Playgroud)

读取一个字符串(不存储任何地方),然后读取十进制整数.使用流将是:

std::string dont_care;
int d = maxdepth;

std::istringstream stream( s );
stream >> dont_care >> d;
Run Code Online (Sandbox Code Playgroud)

  • @ user975900:你需要`#include <sstream>` (2认同)