在c++中从多行文本文档中读取一个数字
Reading a number from a multi-line txt document in c++
我正在制作一个程序,并有一个。txt文件,我需要从中读取,并从中获取命令。文本文档看起来像:
U
R
F 10
D
F 13
Q
,我需要从中得到数字。我读取文件的方式是从一个名为instream
的ifstream
对象。目前我正在使用
while(instream.get(charVariable)){
switch(charVariable){
case 'F': //do the forward command
break;
...
}
}
forward命令需要占用这一行,它确实这样做了,它需要读取F
,跳过空格,并将整个数字放入int
变量中。我是相当新的c++,所以我需要帮助做....如何将数字,读入单个字符变量,读入整数变量?任何帮助都太好了!由于
streams
在读取时移动。这意味着当您从流中读取F
后,下一个输入是integer
。由于它们适用于格式化的输入,当你使用>>
while(instream >> charVariable)){
switch(charVariable){
case 'F': //do the forward command
int nr;
instream >> nr;
// do something with number.
break;
...
}
}
基本上文件流和i/o流之间没有太大的区别。您可以执行以下操作:
while(!instream.eof())
{
char command;
instream >> command;
switch(command)
{
case 'F':
int F_value;
instream >> F_value;
forward(F_value);
break;
//...
}
}
由于所使用的数字可以大于一个字符(即"10"是两个字符),因此最好只使用常规整数变量。
int n;
...
instream >> n; //if your switch statement is working this goes inside the 'F' case
那么你可以对n做任何你想做的事情(在你把下一个整数读入n之前)
相关文章:
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 如何获取一个数字的前3位
- 以C++输出一个数字三角形
- 反转一个数字程序不起作用,为什么?
- 如何让用户在 c++ 中选择一个数字
- 输出一个数字,该数字可能是三种类型之一
- C++在不使用pow或循环的情况下计算一个数字的幂
- 我必须更改我的数字最后一个数字和第一个数字,但不要使用仅带有整数或循环的函数.例如从 12345 到 52341
- 找到所有与自己求和的数字X的快速方法,去掉一个数字得到N
- C++[递归]将一个数字写成2的升序之和
- 试图找到一个数字的平方根,但代码不起作用。C++
- 我没有得到一个数字作为输出,而是一个表情符号
- 我的代码应该接受一个数字,并返回字母等级或"Grade is not valid"但 else 语句不起作用
- 将一个数字拆分为多个数字,每个数字只有一个有效位
- 你怎么编码,如果x不等于一个数字,程序就会退出
- 如何将整数数组相乘得到一个数字?
- 为无符号字符* 分配一个数字
- 如何以更有效的方式检查一个数字是否是素数?
- C++显示两个区间之间的数字的程序检查一个数字是否可以表示为两个素数的总和
- 字符串和双精度的麻烦,等值后再得到一个数字