所以我用 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/