为什么我的fstream没有创建data1.txt文件?

时间:2017-07-13 21:52:23

标签: c++ file fstream ifstream ofstream

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    fstream dataFile("data1.txt");
    if(dataFile.fail()) 
    {
        cout<<"Unable to open file"<<endl;
        exit(1);
    }
    double value = 0;
    while(dataFile >> value)
        cout<<"Read: "<< value << endl;
    dataFile.close();
}

此程序的输出始终无法打开文件。 请告诉我为什么我不能制作文件。即时通讯使用mac book pro(IED:coderunner 2)不知道是否会产生差异

3 个答案:

答案 0 :(得分:2)

根据您的IDE,程序可能无法在您认为的位置运行。尝试将文本文件放在项目层次结构中的不同位置。它可能不在正确的位置。

答案 1 :(得分:1)

您需要先验证文件的位置。例如,从VS IDE运行程序时,不会将文本文件放在Debug或Release文件夹中。您可以将文本文件放在IDE启动可执行文件的文件夹中。如果您运行了独立的可执行文件,那么您可以将txt文件放在与可执行文件相同的文件夹中。 Fstream 由于您使用文件作为输入而不是输出,因此您可以使用attributes代替:

std::ifstream

答案 2 :(得分:0)

您没有创建文件的任何代码。

创建文件:
1)使用std::ofstream
2)使用正确模式std::fstream

虽然没有必要,但您应该将数据写入文件以帮助创建它。

您帖子中的代码是从文件中读取。您打开文件,打开可能不成功。您应该让您的程序告诉fstream文件的路径(以消除歧义)。