0
對不起,如果這個問題有重複,我只看到人們問這在C. 我想加載一個並行數組與外部數據文件中的數據,但是當文件打開並開始加載時,我輸出的所有內容都是空白的控制檯。無法從C++中的文本加載並行陣列
有問題的代碼是...
include <iostream>
#include <fstream>
using namespace std;
...
Void InventoryData::loadArrays()
{
ifstream partIn;
partIn.open("inventoryPricing.dat");
if (partIn.is_open())
{
//Prime Read
partIn >> partNum[invCount]
>> price[invCount];
while(!partIn.eof())
{
invCount++;
partIn >> partNum[invCount]
>> price[invCount];
} //END While
partIn.close();
} //END IF*/
else
{
invCount = -1;
cout<<"File failed to open."<<endl;
}
}
當我註釋掉if語句,一切都很好,我也得到了「文件打開失敗」的聲明沒有問題,但如果它試圖打開這只是一個空白的屏幕?不知道從哪裏開始看,能否有一雙更明智的眼睛把我引向正確的道路?
編輯:在遵循一些建議之後,我在每個循環下面都添加了一個cout行。它現在返回每個文件,但也是一個附加。 最重要的是,通過這個新增功能,該文件現在可以延續到之前沒有的其他代碼行中?
這就是你展示的代碼的自然結果 - 即在塊存在的唯一輸出語句中,如果該文件執行不打開。爲什麼不(或)(a)觀察在調試器中運行的代碼,或者(b)在讀取數據後立即嘗試打印數據,而不是查找輸出(不是生成的)。 I.e'cout << partNum [invCount] <<「 - 」<< price [invCount] << endl;' – enhzflep