【问题标题】:Ifstream file does not open although everything seems in place (c++)尽管一切似乎都已就绪,但 ifstream 文件未打开(c++)
【发布时间】:2013-07-04 06:05:45
【问题描述】:

我正在尝试编写一个程序来解析 CSV 文件(转换为 .txt)的第一列和第十六列。我在可执行文件的文件夹中有 CSV(“posts.txt”)文档。但是,每当我尝试运行可执行文件时,我的程序都会显示它无法打开文件(或“!infile.is_open()”)。介意给我一些帮助吗?我在 Mac OSX 10.8.3 上的 Xcode 3.2.3 中运行。代码如下所示。

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string.h>

using namespace std;

void answeredPostGrabber()
{
    ifstream inFile("posts.txt");

    string postNumber;
    string answerNumber;
    string throwAway;

    if(inFile.is_open())
    {

        while(inFile.good())
        {
            getline(inFile,postNumber,',');
            cout << postNumber << ",";

            for(int y=1;y++;y<16)
            {
                getline(inFile,throwAway,',');
            }
            getline(inFile,answerNumber,',');
            cout << answerNumber << endl;

            ofstream edges;
            edges.open("edges.txt",ios::app);
            edges << postNumber << "," << answerNumber<< endl;
            edges.close();

            ofstream nodes;
            nodes.open("nodes.txt",ios::app);
            nodes << postNumber << "\n" << answerNumber << endl;
            nodes.close();

            getline(inFile,throwAway);
          }
   }else cout << "ERROR: Unable to open file." << endl;
}

int main ()
{
    answeredPostGrabber();
    return 0;
}

提前谢谢你!

【问题讨论】:

  • 您是否将工作目录设置为posts.txt 所在的目录?如果您从 XCode 中运行它,情况可能并非如此。否则,文件权限是否正确?
  • 你为什么不创建一个虚拟文件然后去找它。这就是这个找不到的文件应该所在的位置。

标签: c++ file ifstream


【解决方案1】:

我在包含可执行文件的文件夹中有 CSV(“posts.txt”)文档。

该文件应该存在于您的进程的current working directory中,该目录可能与可执行文件所在的目录相同,也可能不同。如果有疑问,请尝试在 ifstream inFile(...); 中指定完整路径,看看是否会有所改变。

此外,该文件需要具有正确的权限以确保它可以被进程读取。

【讨论】:

  • 我尝试使用 ifstream 创建一个虚拟文件 (ifstream infile("asdf.txt");),但是当我使用它运行程序时,程序从未创建过该文件(在我的任何地方电脑!)。我相信所有的权限都是正确的。嗯……现在呢?不创建文件是否有任何熟悉的 XCode 错误?
猜你喜欢
  • 2014-06-14
  • 1970-01-01
  • 1970-01-01
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-27
  • 1970-01-01
相关资源
最近更新 更多