【发布时间】:2017-06-01 02:23:09
【问题描述】:
我正在尝试读取一行字符,但只输出第二个和第四个字符。我无法忽略第一个字符。我必须使用 get、peek 和 ignore 函数。这是我的代码!
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
char char2, char4;
cout << "Enter an arbitary line. "<<endl;
cin.get(char2);
cout << char2;
cin.get(char4);
cout << char4;
cin.ignore(1, '\n');
cin.peek();
cin.get(char2);
cout << char2 << endl;
return 0;
}
【问题讨论】:
-
所以如果我输入 ~12/.derg 它输出 ~1/
-
您的代码甚至没有尝试执行您所描述的操作。你期望第一个 cin.get(char2) 做什么?您认为之后打印 char2 会做什么?这是对 istrream (cplusplus.com/reference/istream/istream/get) 的参考,我建议您阅读这些函数以及它们的作用,然后再试一次。