2015-02-06 82 views
1

我正在構建Windows 8.1 DirectX應用程序,並試圖在外部加載存儲級別數據。DirectX Windows 8.1 fstream不會加載文件

相關的代碼目前(此方法是所謂的AssetHandler構造函數):

void AssetHandler::LoadLevelsData() 
{ 
    unsigned int i = 0; 
    std::string lineData; 

    this->currentFile.open("Assets/reg.txt"); 
    //Below statement here purely to check if the blasted thing is opening 
    if (this->currentFile.is_open()) 
    { 

    i++; 
    } 
    while (std::getline(this->currentFile, lineData)) 
    { 
    levels[i] = lineData; 
    i++; 
    } 
    currentFile.close(); 
} 

說我遇到的問題是,該文件沒有出現是開放。我曾嘗試:

  • 使用完整路徑
  • 打開文件中的初始化列表
  • 斷點表明,它是跳躍過,如果同時

我發現了一些信息說DirectX對使用外部文件有限制,但沒有具體說明它們是什麼。

+0

此問題似乎與DirectX無關。 – SurvivalMachine 2015-02-06 13:19:56

+0

我只是不想排除任何事情。我的印象是這個問題可能是特定於開發DirectX應用程序的。 – InvertedIdeals 2015-02-06 13:22:00

回答

1

項目類型被設置爲'不參與構建'。將此值設置爲「文本」解決了該問題。

+1

這意味着你得到的錯誤是它不存在。當''is_open''返回false來查明發生了什麼時,你應該可以調用''errno''或''GetLastError()''。 – 2015-02-07 06:07:33