所以我用 C 写了这个,所以 sscanf 在 s 中扫描然后丢弃它,然后在 d 中扫描并存储它。所以如果输入是“Hello 007”,Hello 被扫描但被丢弃,007 存储在 d 中。

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

所以,我的问题是如何在 C++ 中做同样的事情?可能使用stringstream?

最佳答案

#include <string>
#include <sstream>

static void cmd_test(const char *s)
{
    std::istringstream iss(s);
    std::string dummy;
    int d = maxdepth;
    iss >> dummy >> d;
}

关于C++ cin 与 C sscanf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7923165/

10-13 03:40