不过,在大多数情况下,如果std::ofstream对象没有报告错误(即failbit没有被设置),并且调用close()时没有抛出异常,我们可以认为文件写入是成功的。 完整示例代码 下面是一个完整的示例,展示了如何使用std::ofstream写文件: cpp #include <fstream> #include <iostream> int main() { std::ofstream...
在上面的示例中,您实际上将 std::ofstream 对象转换为布尔值(运算符!),以检查任何错误标志。如果设置了任何标志(badbit、failbit),它将返回 true(流尚未准备好使用并且已损坏)。它等价于表达式 !fail()(返回与失败方法返回的值相反的值)。 std::ofstream File("Cannotcreate"); if(!File.is_open()){ std:...
因此,使用 close() 函数关闭 file-related 流是一个不错的选择,它是 ifsream、ofstream 和 fstream 对象的成员。 用法: close() 属性: 返回值:close() 函数不提供返回值,这意味着如果操作失败,包括在调用之前没有打开文件,则为流设置 failbit 状态标志(如果该状态标志是使用成员注册的,则可能抛出 ios_base::...
IO类 IO类型定义在三个头文件中:iostream、fstream、sstream。三种头文件针对的是三种不同的对象:流、文件、string。其中每个头文件都定义了多种类型,依次分别问:istream、ostream、iostream;iftream、ofstream、fstream;istringstream、wistringstream、ostringstream、wostringstream、stringstream、wstringstream。 1)通过继承机...
类模板 basic_ofstream 实现文件上基于流的高层输出操作。它将 std::basic_ostream 的高层接口赋予基于文件的流缓冲( std::basic_filebuf)。 std::basic_ofstream 典型实现只保有一个非导出成员: std::basic_filebuf<CharT, Traits> 的实例。 继承图 亦对常用字符类型定义二个特化: ...
>classbasic_ofstream:publicstd::basic_ostream<CharT, Traits> 类模板basic_ofstream实现文件上基于流的高层输出操作。它将std::basic_ostream的高层接口赋予基于文件的流缓冲(std::basic_filebuf)。 std::basic_ofstream的典型实现只保有一个非派生成员:一个std::basic_filebuf<CharT, Traits>的实例。
Does it make sense to setstd::ios_base::failbitto throw exceptions, for output streams? As in: 1 2 3 4 5 std::ofstream output_file("out.txt"); output_file.exceptions(std::ios_base::badbit | std::ios_base::failbit);// ... ...
ofstream Output file stream (class )链接 fstream Input/output file stream class (class )链接 filebuf File stream buffer (class )链接 成员函数 Public member functions 1, (constructor) 第一种不绑定文件,后续用open() 绑定。 第二种绑定文件 filename ,读取模式默认参数为 ios_base::in可以省略。
设置流状态位的条件列表,见 ios_base::iostate。 参数(无) 返回值若流未出现错误则为 true,否则为 false。 示例运行此代码 #include <cstdlib> #include <fstream> #include <iostream> int main() { const char* fname = "/tmp/test.txt"; std::ofstream ofile{fname}; ofile << "10 " << "...
1.假设所有的输出操作符都表现良好,您只需设置std::ios_base::failbit: