【问题标题】:Specify end of token with cin用 cin 指定标记的结尾
【发布时间】:2017-11-21 01:30:21
【问题描述】:

如何用 cin 指定结束读取令牌的字符?

默认为 /t, /n, '' ...
但我想以与 std::skipws 和 std::noskipws 或 std::ws 函数类似的方式指定一些细节,允许您指定是否忽略空格,我想知道是否有是更通用的允许读取到某个特定字符的东西,读取直到找到与要使用 >> 运算符存储它的变量的数据类型匹配的字符串,以便读取并将令牌剪切到''

这样当输入字符串 A,B,C,D E,F G H,I,J 时

每个字母都是不同的字符串,类似于使用 scanf ("% s,"...) 指定,表示它需要一个字符串后跟一个逗号,该字符串会剪切字符串,但使用 cin。

有人可以帮我吗?

Pd:我突然想到读取该行并将“,”替换为“”,这样我就可以使用 stringstream 进行我想要的提取,但这表示两次穿越字符串并且我寻找一些东西提供语言的清洁和高效,或者无需太多代码就可以使其简单。

【问题讨论】:

标签: c++ string io cin


【解决方案1】:

不,你不能那样做。解析输入并根据输入,例如使用 if 语句来实现您的逻辑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多