[C++][基础]5_标准库类型
5.1 标准库string类型
5.1.1 有用操作
(1) getline
Eg:
string line
while(getline(cin, line))
cout << line << endl;
(2) s.empty()
如果s是空串,返回true,否则返回false。
(3) s.size()
返回s中字符个数。
(4) string::size_type类型
5.2 标准库bitset类型
5.3 标准IO库
5.3.1 IO标准库类型
头文件 类型
iostream istream
ostream
iostream
fstream ifstream
ofstream
fstream
sstream istringstream
ostringstream
stringstream
IO对象不可复制或赋值。
Eg:
ofstream out1, out2;
out1 = out2; //error
ofstream print(ofstream);
out2 = print(out2); //error
5.3.2 条件状态
strm::iostate
strm::badbit
strm::failbit
strm::eofbit
s.eof()
s.fail()
s.bad()
s.good()
s.clear()
s.clear(flag)
s.setstate(flag)
s.rdstate()
5.3.3 文件的输入输出
1.检查文件是否打开
Eg:
ifstream input;
if(!input)
{
cerr << "error: unable to open the file: " << input << endl;
}
2.将文件流重新绑定
如果要把发fstream流和另一个不同文件关联,则必须先关闭现在的文件,然后打开另一个文件。
3.清除文件流的状态
如果要重用文件流读写多个文件,必须在读另一个文件之前调用clear清除该流的状态。
5.3.4 文件模式
in
out
app 在每次写之前找到文件尾
ate 打开文件后立即定位在文件尾
trunc 打开文件时清空已存在的文件流
binary
5.3.5 fstream的用法
1.打开文件open
2.关闭文件close
3.读写文件
(1)文本文件读写<<, >>
(2)二进制文件读写
put()
get(), getline()
读写数据块:read(), write()
4.检测文件尾
Eg:
if(file.eof())
5.文件定位
File.seekg(1024, ios::cur) //文件指针从文件当前位置后移1024个字节
File.seekg(1024, ios::beg) //文件指针从文件开头后移1024个字节