繁体   English   中英

使用fstream的C ++

[英]C++ using fstream

好的,所以我从高中就没使用过C ++(曾经在borland C ++中工作)

现在我想解决C ++中的问题,但我不明白为什么fstream无法正常工作

出于某种原因,ios :: in无法正常工作。

#include <fstream>
fstream f("Cities.txt,ios::in);

如何正确使用Fstream?

提前致谢!

注意:我正在使用Visual Studio 2008

fstream f("Cities.txt,ios::in);

std::fstream f("Cities.txt" , std::ios::in);
^^^                       ^   ^^^
namespace          you miss"  namespace

完成!

您在高中时所学的内容大概是在97年C ++标准化之前。 按照标准,所有C ++库函数都是std名称空间的一部分。 为了使用作为标准名称空间一部分的fstream,您必须使用std ::对其进行限定,因此,语法如下:

#include <fstream>
std::fstream f("Cities.txt",std::ios::in); 

您必须首先创建ifstream类的对象,然后打开文件。 这样做。

#include <fstream>

std :: ifstream f ("Cities.txt",ios::in) ;

然后检查它是否打开并开始使用它。

您还缺少文件名后的"

作为std::fstream的替代方案,请考虑std::ifstream (和std::ofstream ):

#include <fstream>

…

std::ifstream f("Cities.txt");
std::ofstream o("output.txt");
std::string s;
while( f >> s )
  o << s; 

就个人而言,我发现这比指定打开模式更为方便。

你也可以写

#include <fstream>
using namespace std;
fstream f("Cities.txt",ios::in);

using指令允许您不要在所有内容之前编写std:: 当心,这可能不是一个好习惯,但是在小型程序中,这应该不是问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM