2014-01-22 92 views
0

我想寫兩個單獨的函數,它們都從數據文件中讀取,但只返回其中的兩列中的一列。 (註釋不在.dat文件,它只是書面澄清)從兩列之一返回值,或者跳過數組中的其他元素?

// Hours  Pay Rate 
    40.0  10.00 
    38.5  9.50 
    16.0  7.50 
    42.5  8.25 
    22.5  9.50 
    40.0  8.00 
    38.0  8.00 
    40.0  9.00 
    44.0  11.75 

如何返回一個代表「小時」在一個函數在其他功能,和返回的工資率「的元素?

+1

而你試過的代碼? – yizzlez

+0

我還沒有嘗試過任何東西,我不知道如何。 – user3209342

+0

搜索「從文件列讀取C++」的StackOverflow。 –

回答

0

使用一個fstreamifstream對象和提取操作符。

std::ifstream fin(YourFilenameHere); 
double hours, rate; 
fin >> hours >> rate; 

這些對象的類位於fstream標頭中。

0
// "hours" and "payRate" might as well be class members, depending 
// on your design. 
vector<float> hours; 
vector<float> payRate; 
std::ifstream in(fileName.c_str()); 
string line; 
while (std::getline(in, line)) { 
    // Assuming they are separated in the file by a tab, this is not clear from your question. 
    size_t indexOfTab = line.find('\t'); 
    hours.push_back(atof(line.substr(0. indexOfTab).c_str()); 
    payRate.push_back(atof(line.substr(indexOfTab +1).c_str())); 
} 

現在,您可以按小時[i]訪問第i個條目,與payRate相同。 同樣,如果這真的是你需要的,你可以通過返回相應的向量來「返回一列」。

相關問題