打开文件时,C还是C ++?

时间:2013-02-17 04:01:33

标签: c++ c file fstream

目前我正在使用C ++编写我正在编写的程序,我有一个关于Old v New的查询。

在线查看我看到有人使用C ++语法打开文件。我正在转向C ++,所以我应该跟上时间,但是对我而言,使用C方式或后者方式更好吗?我正在考虑:

  • 安全。
  • 速度
  • 内存使用情况。 (虽然我想我可能对这个有一个想法。)

谢谢。

2 个答案:

答案 0 :(得分:3)

普通C和普通C ++都不允许您访问操作系统的安全功能。在Windows和Linux / UNIX中,存在与文件系统相关的安全功能,您必须使用它们来设置或查询文件访问权限。

无论您是使用C语言还是使用C ++编写,安全性仍然是您的责任。这两种语言都不会让您从输入验证和错误检查中解脱出来。

除非您使用不同的缓冲模式或不同大小的缓冲区,否则在具有相同编译器的同一平台上,文件I / O速度应该大致相同。对于文件I / O函数中隐式使用的内存量,情况也是如此。

如果您使用C ++编写,通常应该使用C ++ I / O函数,除非您无法使用它们(例如,您无法访问特定于操作系统的功能,因此被迫使用纯C语言您的操作系统提供的功能。)

答案 1 :(得分:2)

使用C ++标准库为您提供的功能。如果且仅当您遇到速度或内存问题时,请开始分析并探索其他选项。