c++ - 从 C++ 中的多行 txt 文档中读取数字

标签 c++ variables casting io ifstream

我正在制作一个程序,并且有一个 .txt 文件,我需要从中读取并从中获取命令。文本文件看起来像:

U
R
F 10
D
F 13
Q

我需要从中获取数字。我读取文件的方式来自名为 instreamifstream 对象。目前我正在使用

while(instream.get(charVariable)){
    switch(charVariable){
    case 'F': //do the forward command
       break;
    ...
    }
}

forward 命令需要获取该行,它确实这样做了,它需要读取 F,跳过空格,并将整数放入 int多变的。我是 C++ 的新手,所以我需要帮助……我如何获取数字,读入单个 char 变量,读入整数变量?任何帮助都会很棒!谢谢

最佳答案

在您从中读取时移动。这意味着当您从流中读取 F 时,下一个输入是 integer。由于它们处理格式化输入,因此当您使用 >>>

时,流将为您跳过空白区域
while(instream >> charVariable)){
    switch(charVariable){
    case 'F': //do the forward command
       int nr;
       instream >> nr;
       // do something with number.
       break;
    ...
    }
}

关于c++ - 从 C++ 中的多行 txt 文档中读取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16470277/

相关文章:

C++ SWAP 函数什么都不做?

c++ - 流迭代器的结尾是可配置的吗?

c++ - ROS_INFO_STREAM 不打印

java - 将变量传递给扩展类并调用方法

c - 如何在C中跨文件访问变量?

c++ - 我怎样才能使 C++ 更喜欢匹配父类重载而不是模板?

python - 更改 pandas 中类别代码的 dtype

c++ - clang-cl PCH缺少 header 包含错误

php - Behat:在场景中的步骤之间使用变量

ios - 在 swift ( ios ) 中将字典转换为对象