第二章、第三章
1. void
void可以定义一种指针,这种指针可以指向任意
2. enum枚举
enum color{red,yellow,white}
color c;
枚举元素都是常量
枚举常量可以赋值给整形变量
3. volatile
不要进行优化处理,防止多线程出现问题
##4. 强制转换
(类型名)表达式 //C语言常用
类型名(表达式)
5. 指针运算符
“*” 间接访问运算符
& 取地址运算符
6. cin、cout
– cout.width(10) 表明了位宽
– cout.fill(‘#’) 表明了少于width时最少填充的东西
– cout.precision(7) 表明了浮点数需要多少位
–用一次就失效
flush 刷新缓冲区(eg. cout.flush())
控制不同的输出方法
cout<<dec<<dt<<'\n' //十进制
cout<<hex<<dt<<'\n' //十六进制
oct 8进制数处理 输入/输出
dec 10进制数处理 输入/输出
hex 16进制数处理 输入/输出
ws 跳过空格 输入
flush 刷新缓冲区(强制输出) 输出
endl 输出时追加’\n’,并刷新缓冲区 输出
ends 输出时追加’\0’,并刷新缓冲区 输出
cin.get(ch)
成功返回*this,失败返回null
cin.getline(ch)
同上,同时吸收了回车
7.文件
open(const char *fname文件指针, int openmode=ios::out打开模式,int prot=filebut::openprot打开文件保护种类一般不动);
openmode
ios::app 以追加方式打开文件
ios::ate 打开文件,并将文件指针移入最后
ios::in 即使存在同名文件也不删除
ios::out 以输出方式打开文件(ofstream的缺省值)
ios::trunc 如果文件存在,则删除其中的内容
ios::nocreate 如果文件不存在,出错
ios::noreplace 如果文件存在,出错(防止改写)
ios::binary 以二进制方式打开文件(缺省为正文方式)
使用方法
ifstream fin;
fin.open('a.txt');
或者
ifstream fin(‘a.txt’)
还有ofstream, 用于打开输出用文件,还有fstream全有
然后文件就可以愉快地fin.get(), put(),getline()
寻找指针seekp或tellp来得到输出流的指针
输入流seekg或者tellg
fin.seek(100L)
判断出错
good( ) 状态正常
bad( ) 发生重大输入输出错
fail( ) 发生可以恢复的输入/输出错
eof( ) 文件结束
rdstate( ) 返回错误标志:
ios::goodbit 无错
ios::eofbit 到达文件尾部
ios::failbit 发生可以恢复的格式错或变换错
ios::badbit 发生重大错或未知状态
fin.good()