非常基本的文件i/o
Very basic file i/o
每当我尝试用istream打开文件时,它不会打开(is_open()返回false)。文件是否需要放在一个特定的目录才能被访问(它在项目的输出目录中)?
ifstream ifile;
ifile.open("test.txt");
if(!ifile.is_open()){
cout << "The file could not be opened." << endl;
}
cin.get();
需要在程序的"工作目录"中。这是你运行程序时所在的目录,或者如果你使用的是像Visual Studio这样的IDE,项目的目录(该目录还包含Release和/或Debug构建文件夹)。
您需要提供文件的正确路径。我不知道你的项目的结构是什么,但像这样:
ifile.open("output/test.txt");
我在Linux机器上工作,将文件test.txt
放在与二进制文件相同的目录中总是有效的。因此,如果项目的可执行文件名为a.out
,那么以下两个步骤应该可以使其工作:
- 确保
test.tx
t与a.out
在同一目录下 - 检查test.txt和
whether it exists
中的permissions
。
试着改变这一行if file.open("test.txt");-> ifile.open("/用法");
ifstream ifile;
ifile.open("/test.txt");
if(!ifile.is_open()){
cout << "The file could not be opened." << endl;
}
cin.get();
相关文章:
- 非常快速地阅读 CSV 文件
- 内存映射文件访问非常慢
- 以非常低的资源要求强制复制文件
- 使用 g++ 和 Makefile 编译 c++ 时可执行文件非常大
- cl 生成的可执行文件在第一次运行时运行速度非常慢
- GCC 需要大量内存来编译堆栈上具有非常大对象的 C++ 文件
- 嵌套的lambda表达式在用Visual C++编译和生成巨大的对象文件时速度非常慢
- 在qt中遍历文件夹中的文件非常慢
- STL容器,用于在C++中组合多个非常大的光栅数据文件
- ftell 非常大的文件出错
- 从C++中非常大的文本文件资源读取
- 在 c++ 中搜索文件中的字符串以查找非常大的输入的有效方法
- 如何直接有效地访问非常大的文本文件
- 在一个非常大的文件中搜索单词
- 将数据从文件读取到链表非常慢
- 在C++中高效地读取一个非常大的文本文件
- 覆盖保存文件的非常安全的方法
- 从json文件构造boost属性树的性能非常差
- 我正在尝试设置文件流或类似的东西,但我对我应该做什么感到非常困惑
- c++ fstream写入文件非常慢