天天看点

[C++][基础]5_标准库类型

[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.检测文件尾

    if(file.eof())

5.文件定位

    File.seekg(1024, ios::cur) //文件指针从文件当前位置后移1024个字节

    File.seekg(1024, ios::beg)  //文件指针从文件开头后移1024个字节

继续阅读