对一些刚刚接触C++编程的朋友来说,可能会遇到一些小问题,如:在进行字符串或单个字符的输入过程中,明明输出了空格,却在显示的时候“失踪”了。空格怎么会“失踪”,让我们先来看看下面这个例程:
//程序功能:读入和输出字符串
#include <iostream>
#include <string>
using namespace std;
void main()
{ string str;
cin>>str;
cout<<str<<endl;
}
调试成功后,当我们键入:#hello(以下将用符号“#”代表空格)显示的结果:hello。空格没有显示出来,这是怎么回事啊?问题出在cin后面的“>>”。当我们输入数据的时候,>>会跳过所有的空白字符。
解决方法:
1.使用get()函数。适用于从输入数据流中输入下一个字符(包括空格),单个字符的输入。
2.使用get(str,m)函数,适用于输入字符串。
3.使用getline()函数。
示例:
string str;
getline(cin,str);
输入:hello#computer
输出:hello#computer
提示:使用字符串输入和输出时,要记住加上头文件#include <stream.h>