2013-04-28 20 views
-1

我有一個函數void displayList(),它顯示了一個集合的列表。 在主函數中我也有如何調用輸出文件的cout函數

ofstream outputFile(output.txt) 

我怎麼調用顯示列表並打印在output.txt的?謝謝。

顯示列表只是一些一堆COUT線

回答

0

我相信這是:

outputFile << displayList(); 
3

讓我們假設你的顯示列表目前是這樣的:

void DisplayList() { 
    cout << "a" << a << "\n"; 
} 

我會重寫它變成兩個超載功能:

void DisplayList(std::ostream &os) { 
    os << "a" << a << "\n"; 
} 

void DisplayList() { DisplayList(std::cout); } 

然後您現有的代碼可以繼續調用DisplayList()而不帶參數並獲取當前行爲。想要指定目標文件,而不是代碼,可以撥打:

Displaylist(outputFile); 

和輸出將得到他們指定的,而不是cout文件。

這可以作爲一個帶有默認參數的函數來完成,但在這種情況下,我認爲一對重載函數可能更簡單。

+0

回答了我的問題,非常感謝你 – 2013-04-28 05:07:32

+0

我試過這樣做,但它表示ostream沒有被聲明時是什麼意思?謝謝。 – 2013-04-28 05:15:17

+0

@LeonardLie:您可能沒有在該文件中包含正確的標題。 – 2013-04-28 05:16:48