天天看点

C++ 文件打开模式

打开模式:

in:打开文件时做读操作;

out:打开文件时做写操作;

app:在每次写之前找到文件尾;

ate:打开文件后立即将文件定位在文件尾;

trunc:打开文件时清空已存在的文件流;

binary:以二进制模式进行IO操作;

有效组合:

并不是所有的打开模式都可以同时制定,有些模式组合是没有意义的,例如:in和trunc,准备读取文件流,但是trunc清空了文件流。

out:打开文件时做写操作,删除已经存在的数据;

out  |  app:打开文件时做写操作,在文件尾写入,不清空已经存在的数据;

out  |  trunc:打开文件时做写操作,删除已经存在的数据,与out模式相同;

in:打开文件时做读操作;

in  |  out打开文件时做读写操作,并定位于文件的开头处,不清空已经存在的数据;

in  |  out  |  trunc:打开文件时做读写操作,删除文件中已经有的数据;

当文件同时以in out模式打开时,不会清空已有数据;

如果只使用了out,而没有指定in模式,则会清空已有数据;

如果使用了trunc,不论是否使用了in,都会清空已有的数据