[C++学习]浅谈 cin 和 cout

1、cin 和 cout 都是预定义的对象,本文中的内容使用的命名空间都为 std

// 方法1:全部使用 std 命名空间
using namespace std;

// 方法2:使 cout 每次都使用 std 命名空间
using std::cout;

// 方法3:每次都指出 cout 使用 std 命名空间
std::cout;

2、cout 的控制符

控制符 功能 使用方法
endl 换行 cout << endl;
oct 八进制打印整数 cout << oct;
dec 十进制打印整数(默认) cout << dec;
hex 十六进制打印整数 cout << hex;

3、cout 经常使用的成员函数

// 1、显示一个字符
cout.put();  

// 2、显示到小数点后6位
cout.setf(ios_base::fixed, ios_base::floatfield); 

// 注:float 有效位最低是6,double 最低是15

// 3、cout 在显示 bool 值之前将他们转换为 int ,此函数使 bool 显示为 true 或 false,而不是 1 或 0。
cout.setf(ios_base::boolalpha); 

4、cin 经常使用的成员函数
cin 的输入以空白(空格、制表符、换行符)为界限,即对于字符串只能得到一个单词,要输入超过一个单词时由函数解决。
(1)get(str,size) 和 getline(str,size) 都是面向行的输入

getline(str,size)会接收换行符并将其替换为’\0‘,而 get(str,size) 会将换行符保留在输入序列中。
get(str,size)当输入为空行,将会设置失效位(failbit),而 getlint(str,size) 当输入字符长度超过 size 大小时设置失效位。

(2)失效位将使接下来的输入被阻断(接下来的目标输入将变成空字符串),通过如下命令恢复输入:

cin.clear();

(3)get() 和 get(ch) 是面向字符的输入,即不带参数或只有一个 char 类型参数时,将得到的一个字符丢弃或保存到 ch 中。
注1:当设置失效位后,get() 和 get(ch) 将会失效。
注2:注意要用 get() 来丢弃 cin 正常使用时的换行符。

例1

// 方法1
cin >> num;
cin.get();
// 方法2
(cin >> num).get();

5、string 类对象的用法

// 1、初始化
string str1 = "hello"; 

// 2、赋值
string str2; 
str2 = str1; 

// 3、字符串拼接
string str3 = str1 + str2;

// 4、得到字符串长度
str1.size();

// 5、可以直接修改某一字符
str1[2] = 'e';

// 6、string 类对象的输入输出和字符数组基本一致。但当要**输入一行字符串**时,使用如下函数。
getline(cin, str1);

这里的 getline(cin, str1) 函数不是类方法,它将 cin 作为参数,指出到哪里去查找输入

你可能感兴趣的:(总结,C/C++)