c++ - 使用 cin 跳过预期的字符,如 scanf()

标签 c++ iostream scanf cin cstdio

如何在 C++ 中用 scanf("%d # %d",&a,&b);实现类似 cin 的效果?

最佳答案

您可以通过将 # 提取到一个字符中来跳过它:

std::istringstream iss("10 # 20");

int main()
{
   int a, b; char hash;
   iss >> a >> hash >> b;

   assert(a == 10 && b == 20);
}

关于c++ - 使用 cin 跳过预期的字符,如 scanf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59428895/

相关文章:

c++ - 并行计算的障碍

c++ - 如何获取卷序列号

c++ - 为什么 std::getline() 在格式化提取后跳过输入?

c - 为什么 fflush(stdin) 函数不起作用?

c++ - 在 C++ 中, "static initialization fiasco"是否仅影响引用另一个模块中定义的对象的数据成员?

c++ - SDL_ttf "Couldn' t 用 C++ 中的 SDL2 加载字体文件

c++ - 为什么std::getline()在格式化提取后会跳过输入?

c++ - 为什么 num_get 和 num_put 是不对称的?

c - 为什么我必须按 CTRL + Z 3 次才能发送 EOF?

c - 它有什么意义,为什么 sscanf 函数仍然有效?