本文主要是介绍《C++笔记 第一部分 C++语言篇》第2章 输入输出流,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2.1概述
输入和输出并不是C++语言中的正式组成成分,C和C++本身都没有为输入和输出提供专门的语句结构。输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的。
C++的输出和输入是用“流”(stream)的方式实现的。
在定义流对象时,系统会在内存中开辟一段缓冲区,用来暂存输入输出流的数据。在执行输入输出语句时,先把数据顺序存放在输出缓冲区中,直到输出缓冲区满或遇到输入输出语句中的endl(或′\n′,ends,flush)为止,此时将缓冲区中已有的数据一起输出,并清空缓冲区。
2.2 C++输出
输出流即从程序中输出一系列的字符串,使用cout对象。
引用头文件
#include <iostream>
using namespace std;
基本形式如下:
cout<<表达式1<<表达式2<<……;
换行
控制符endl
换行符:\
一个cout语句可以分写成若干行
int main(int argc, char *argv [])
{cout << "hello world" <<endl;cout << "hello""world"<<endl;return 0;
}
cout输出时,系统会自动判别输出数据的类型
int main(int argc, char *argv [])
{int a = 123;double b = 456.789;char c = 'a';cout << a << b << c <<endl;return 0;
}
2.3 C++输入
输入流即向程序输入一系列的字符串,使用cin对象。
引用头文件
#include <iostream>
using namespace std;
基本形式如下:
cin >> 变量1 >> 变量2 >> …;
注意:输入时,以空行或回车作为一个变量输入结束。
cin输入时,系统会自动识别输入数据的类型
int main(int argc, char *argv [])
{int ival;char ch;cin >>ival >>ch;cout << ival << ch <<endl;return 0;
}
一个cin语句可以分写成若干行
int main(int argc, char *argv [])
{int ival;char ch;cin >>ival >>ch;cout << "1 :" << ival << ch <<endl;cin >> ival >>ch;cout << "2:" << ival << ch << endl;cin >> ival ;cin >> ch;cout << "3:" << ival << ch <<endl;return 0;
}
2.3格式控制符
设置状态标志流成员函数setf
一般格式:long ios::setf(long flags)
调用格式:流对象.setf(ios::状态标志)
清除状态标志流成员函数unsetf
一般格式:long ios::unsetf(long flags)
调用格式:流对象.unsetf(ios::状态标志);
设置域宽流成员函数width
一般格式:int ios::width(int n)
调用格式:流对象.width(n);
注:它只对下一个流输出有效,输出完成后,恢复默认值0
设置实数的精度流成员函数precision
一般格式:int ios::precision(int n)
调用格式:流对象.precision(n);
注:参数n在十进制小数输出时表示有效数字。标志fixed和scientific表示输出小数位数
填充字符流成员函数fill
一般格式:char ios::fill(char ch)
调用格式:流对象.fill(ch);
注:当输出值达不到域宽时用填充符来填充,默认填充符为空格,与width函数搭配使用。
预定义操作符
预定义操作符 | 功能 | 输入/输出 |
---|---|---|
dec | 设置整数基数为10 | 输入/输出 |
hex | 设置整数基数为16 输入/输出 | |
oct | 设置整数基数为8 | 输入/输出 |
setbase(n) | 设置整数的基数为n(可取0或10代表十进制,8代表八进制和16代表十六进制,默认为0) | 输入/输出 |
ws | 跳过输入的空格符 | 输入 |
endl | 输出一个换行符并刷新输出流 | 输出 |
ends | 插入null,通常用来结束一个字符串 | 输出 |
flush | 刷新一个输出流 | 输出 |
setfill© | 设置填充符(默认为空格) | 输出 |
setprecision(n) | 设置实数精度n | 输出 |
setw(n) | 设置域宽n | 输出 |
setiosflags(flags) | 设置指定状态标志,多个用"|"分隔 | 输入/输出 |
resetiosflags(flags) | 清除指定状态标志,多个用"|"分隔 | 输入/输出 |
这篇关于《C++笔记 第一部分 C++语言篇》第2章 输入输出流的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!