簡體   English   中英

盡管似乎一切就緒,但ifstream文件無法打開(C ++)

[英]Ifstream file does not open although everything seems in place (c++)

我正在嘗試編寫一個程序來解析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;
}

先感謝您!

我的可執行文件所在的文件夾中有CSV(“ posts.txt”)文件。

該文件應存在於您進程當前工作目錄 ,該目錄可能與可執行文件所在的目錄相同,也可能不同。 如有疑問,請嘗試在ifstream inFile(...);指定完整路徑ifstream inFile(...); 看看是否會改變事情。

另外,該文件需要具有正確的權限,以確保該文件可被進程讀取。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM