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());

原文地址:https://www.cnblogs.com/xiangshancuizhu/p/2430677.html