ofstream创建新txt
表示之前总结的不知道搞哪里去了,还在继续google。
首先看创建规则:
表6-4 ios_base::openmode标志 |
|
标志 |
含义 |
ios::app |
追加模式(append),新输出的内容追加在原文件内容的后面 |
ios::ate |
文件打开后定位到文件尾,ios:app就包含此属性 |
ios::binary |
以二进制方式打开文件,默认的方式是文本方式 |
ios::in |
文件以输入方式打开 |
ios::out |
文件以输出方式打开 |
ios::trunc |
截断模式(truncate),如果文件存在,则把文件长度设为0 |
ios::nocreate |
如果文件不存在则不创建 |
ios::noreplace |
如果文件已存在则不替换 |
注意用fstream创建文件时,不能指定ios::in 参数,否则当文件不存在时不会自动创建
char *fileName = "C://input.txt" ;
fstream fs(fileName, ios::in | ios::out, ios::trunc) ;
当fileName对应的文件不存在时,不会自动创建
但是如果写成
char *fileName = "C://input.txt" ; fstream assert(!out.is_open());(fileName, ios::out, ios::trunc) ;
如果文件不存在那么就会自动创建一个
创建之后,记得检查是否正确创建了:
assert(!out.is_open());