FILE vs fstream
FILE vs fstream
可能的重复:
std::ifstream是否明显慢于FILE
您在C++代码中使用哪个I/O库?
我想知道在C++中在FILE上使用fstream的利弊是什么?
我认为一个优点是FILE比fstream更有效率。
一个非常喜欢C++、反C的人可能会告诉你一些类似fstream
的东西——能够更容易地处理不同的类型。使用FILE
,您有两个选项——以字节为单位处理或以字符串格式处理。由于printf
或fwrite
等人不知道他们的论点的"真实"类型是什么,这更容易搞砸。还有一个事实是,C++类将有一个析构函数,因此当对象超出范围时,可以"免费"进行清理。(尽管……你真的希望像fflush
这样的事情在析构函数中安静地发生吗?可能不会。(对于这些争论,我想说,使用FILE
并不是一个很大的负担,但嘿,在这些问题上,有些人比我感觉更强烈。
最终,它将归结为您的应用程序正试图做什么,可能是FILE
、fstream
或两者都能充分满足您的需求。
选择有效的方法,灵活对待他人的选择,理解争论,不要对此过于虔诚。这是我的建议。:-(
- fstream是一个更好的封装,具有更高级别的概念
- fstream是异常安全的
- fstream也是一个流,一般可以作为流来处理
想象一下:
无效读取(istream&istr(
我们可以通过ifstream,iststream,甚至cin。这对于单元测试非常有用。
std::fstream
是类型安全的,具有国际化支持,并且(警告:意见(更易于使用。
当std::fstream
超出作用域时,无论您是否忘记fstream::close()
,它都会为您销毁。
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在fstream期间忽略空行
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 数据成员SFINAE的C++17测试:gcc vs clang
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 正在VS调试器中监视映射条目
- Confusion: decltype vs std::function
- 将IBM Rhapsody模型集成到VS 2019中
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 使用VS Code和CMake Tools运行自定义命令
- 修改 VS Code 中的默认C++代码段
- 如何使用c++在VS 2019上运行SQL查询
- vs 2015 constexpr变量不恒定,但与2019相比还好吗
- 使用fstream对txt文件中的数字进行循环
- 为什么 fstream 在打开带有格式的文件时会导致分段错误?
- 无法打开 fstream C++文件,即使它与 .cpp 位于同一位置
- 完美前进使用 std::forward vs RefRefCast
- boost::Serialize VS std::fstream
- FILE vs fstream