原创作品,转载请注明出处:http://www.cnblogs.com/shrimp-can/p/5657192.html
一.成员类型
1. ios::fmtflags:
格式标志,常用来设置输出的格式,用于函数flags、setf、unsetf作为其参数或返回类型。
field | member constant | effect when set |
---|---|---|
independent flags | boolalpha | read/write bool elements as alphabetic strings (true and false ). |
showbase | write integral values preceded by their corresponding numeric base prefix. | |
showpoint | write floating-point values including always the decimal point. | |
showpos | write non-negative numerical values preceded by a plus sign (+). | |
skipws | skip leading whitespaces on certain input operations. | |
unitbuf | flush output after each inserting operation. | |
uppercase | write uppercase letters replacing lowercase letters in certain insertion operations. | |
numerical base (basefield) |
dec | read/write integral values using decimal base format. |
hex | read/write integral values using hexadecimal base format. | |
oct | read/write integral values using octal base format. | |
float format (floatfield) |
fixed | write floating point values in fixed-point notation. |
scientific | write floating-point values in scientific notation. | |
adjustment (adjustfield) |
internal | the output is padded to the field width by inserting fill characters at a specified internal point. |
left | the output is padded to the field width appending fill characters at the end. | |
right | the output is padded to the field width by inserting fill characters at the beginning. |
2. ios_base::iostate
flag value | indicates |
---|---|
eofbit | End-Of-File reached while performing an extracting operation on an input stream. |
failbit | The last input operation failed because of an error related to the internal logic of the operation itself. |
badbit | Error due to the failure of an input/output operation on the stream buffer. |
goodbit | No error. Represents the absence of all the above (the value zero). |
3. 其他:sentry、event、event_callback、failure、Init、openmode、seekdir
二.从输入流类istream继承的函数
1. gcount:streamsize gcount() const;
返回从最后次非格式化输入操作中提取的读取的字符个数
char str[20];
std::cout << "Please, enter a word: ";
std::cin.getline(str,20);
std::cout << std::cin.gcount() << " characters read: " << str << '\n';
输出为:
Please, enter a word: simplify
9 characters read: simplify
2. get:int get();读取一个字符,通常用来排除换行符的影响
istream& get (char& c);读取一个字符到c中
istream& get (char* s, streamsize n);读取一个字符串,直到遇到换行符或者读取了n-1个字符,会自动在末尾添加字符'\0'
istream& get (char* s, streamsize n, char delim);读取一个字符串,直到遇到字符delim或者读取了n-1个字符,会自动在末尾添加字符'\0'
换行符会留在输入队列中
3. getline:istream& getline (char* s, streamsize n );读取一个字符串,直到遇到换行符或者读取了n个字符(换行符也会读取),并将换行符替换为'\0'
istream& getline (char* s, streamsize n, char delim );读取一个字符串,直到遇到字符delim或者读取了n个字符,并将换行符替换为'\0'
3. ignore:istream& ignore (streamsize n = 1, int delim = EOF);
从输入队列中提取字符,并忽略它们,直到提取完前面n个字符或者遇到字符delim为止(delim也提取并忽略)。完成后输入队列中的第一个字符为第n+1个字符或者delim后面个字符
char first, last;
std::cout << "Please, enter your first name followed by your surname: ";
first = std::cin.get(); // get one character
std::cin.ignore(256,' '); // ignore until space
last = std::cin.get(); // get one character
std::cout << "Your initials are " << first << last << '\n';
输出为:
Please, enter your first name followed by your surname: John Smith
Your initials are JS
4. 其他:peek、read、readsome、putback、unget
5. tellg、seekg
6. sync:int sync();
输入缓冲区同步
三、从输出流中继承的函数
1. put:ostream& put (char c);
输出字符c
2. 其他:write、tellp、seekp、flush
四、保护成员函数(C++11)
=操作、swap
五、从ios类继承来的函数
1. ios::good:bool good() const;
如果错误状态标识(eofbit、failbit、badbit)被设置了返回false,如果没有返回ture
2. ios::eof:bool eof() const;
如果eofbit被设置了返回ture,说明到达了输入末尾了
3. fail:bool fail() const;
如果failbit或者badbit被设置了返回true
4. bad:bool bad() const;
如果badbit被设置了返回true
iostate value (member constants) |
indicates | functions to check state flags | ||||
---|---|---|---|---|---|---|
good() | eof() | fail() | bad() | rdstate() | ||
goodbit | No errors (zero value iostate) | true |
false |
false |
false |
goodbit |
eofbit | End-of-File reached on input operation | false |
true |
false |
false |
eofbit |
failbit | Logical error on i/o operation | false |
false |
true |
false |
failbit |
badbit | Read/writing error on i/o operation | false |
false |
true |
true |
badbit |
5. ios::!操作:
如果failbit或者badbit被设置了返回true
6. ios::clear:void clear (iostate state = goodbit);
为错误状态标识设置新的值
7. ios::fill:char fill() const;返回填充字符
char fill (char fillch);用字符fillch进行填充,返回填充字符
填充输出的空闲空间
char prev;
std::cout.width (10);
std::cout << 40 << '\n';
prev = std::cout.fill ('x');
std::cout.width (10);
std::cout << 40 << '\n';
std::cout.fill(prev);
输出:
40
xxxxxxxx40
8. 其他:rdstate、setstate、copyfmt、exceptions、imbue、tie、rdbuf、narrow、widen
六、从ios_base类中继承的函数
1. flags:fmtflags flags() const;返回当前格式
fmtflags flags (fmtflags fmtfl);设置新的格式,返回之前的格式
std::cout.flags ( std::ios::right | std::ios::hex | std::ios::showbase );
std::cout.width (10);
std::cout << 100 << '\n';
输出: 0x64
2. setf:fmtflags setf (fmtflags fmtfl);
fmtflags setf (fmtflags fmtfl, fmtflags mask);
设置格式,返回设置之前的格式
std::cout.setf ( std::ios::hex, std::ios::basefield ); // set hex as the basefield
std::cout.setf ( std::ios::showbase ); // activate showbase
std::cout << 100 << '\n';
std::cout.unsetf ( std::ios::showbase ); // deactivate showbase
std::cout << 100 << '\n';
输出:
0x64
64
3. unset:void unsetf (fmtflags mask);
清空mask选择的格式
4. precision:streamsize precision() const;返回当前的浮点精度(即小数点位数)
streamsize precision (streamsize prec);设置浮点精度,返回之前的浮点精度
5. width:streamsize width() const;返回当前域宽度
streamsize width (streamsize wide);设置域宽度,返回之前的域宽度
6. 其他:imbue、getloc、xalloc、iword、pword、register_callback、sync_with_stdio
参考:http://www.cplusplus.com/reference/istream/iostream/
输入输出流类iostream常用函数解析的更多相关文章
-
python重要的第三方库pandas模块常用函数解析之DataFrame
pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...
-
pandas模块常用函数解析之Series(详解)
pandas模块常用函数解析之Series 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器输入网 ...
-
numpy.random模块常用函数解析
numpy.random模块中常用函数解析 numpy.random模块官方文档 1. numpy.random.rand(d0, d1, ..., dn)Create an array of the ...
-
java 多线程总结篇2之——Thread类及常用函数
此片文章主要总结的是Thread类及相关的基础概念和API,首先需要厘清线程调度中的几个基本概念: 一.线程调度的基本方法 1.调整线程优先级:Java线程有优先级,优先级高的线程会获得较多的运行机会 ...
-
Java的IO输入输出流类的介绍(有图)
一.字节流 1.InputStream/OutputStream(输入流与输出流几乎一一对应) 读取的方法 int read() int read(byte[] buffer) int r ...
-
Qt QString类及常用函数功能详解
QString 是 Qt 编程中常用的类,除了用作数字量的输入输出之外,QString 还有很多其他功能,熟悉这些常见的功能,有助于灵活地实现字符串处理功能. QString 存储字符串釆用的是 Un ...
-
tensorflow常用函数解析
一.tf.transpose函数的用法 tf.transpose(input, [dimension_1, dimenaion_2,..,dimension_n]):这个函数主要适用于交换输入张量的不 ...
-
Path模块部分常用函数解析——NodeJS
官网地址:https://nodejs.org/api/path.html path.resolve([...paths])# Added in: v0.3.4 参数[...paths]: <S ...
-
numpy模块常用函数解析
https://blog.csdn.net/lm_is_dc/article/details/81098805 numpy模块以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter note ...
随机推荐
-
Android自定义控件3--优酷菜单执行动画
在上篇文章中实现了优酷菜单的布局,本文接着实现动画功能 本文地址:http://www.cnblogs.com/wuyudong/p/5914901.html,转载请注明源地址. 新建动画工具类Ani ...
-
Spring Autowiring by Name
In Spring, "Autowiring by Name" means, if the name of a bean is same as the name of other ...
-
Aircrack-ng 工具箱
官网为:http://www.aircrack-ng.org/, 它就是一个与WiFi 相关的工具啦,可以进行一些注入,抓包.破解WiFI等.里面有很多不同的套件. 另外,http://blog.cs ...
-
EF连接MySQL数据Web.Config配置
EF连接MySQL数据Web.Config配置 <?xml version="1.0" encoding="utf-8"?> <configu ...
-
python flsak 框架
1.flask 轻量级微型web框架 优点:微框架.简单.可扩展 将flask变量实例化到app变量中 如果想要flask自动加载修改后的代码,要app.run(debug=True) 2.路由和视 ...
-
【leet-code】135. 加油站
题目描述 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其 ...
-
Nginx 滑动窗口与缓冲区
L:125
-
python 0,1行列问题
shape[0]-- 行 A.min(0) --A的按列最小值,生成一个行向量 >>> a = np.random.rand(3,3) >>> a array([[ ...
-
VCS中的覆盖率分析
VCS在仿真过程中,也可以收集Coverage Metric.其中覆盖率类型有: 1)Code Coverage:包括control_flow和value两部分的coverage,line_cover ...
-
C语言-简单选择排序与直接插入排序的实现
/* Name: selectSort and insertSort Copyright: nyist Author: 润青 Date: 01/10/18 19:30 Description: 实现了 ...