2013-04-28 2 views
-1

나는 집합 목록을 표시하는 void displayList() 함수가 있습니다. 나는 또한출력 파일의 ofstream에 cout 함수를 호출하는 방법

ofstream outputFile(output.txt) 

어떻게 DisplayList가 인쇄합니다이 경우 output.txt에 부르죠을 가지고있는 주요 기능에 ? 감사.

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

는이되기 위해 나는 다시 것 :

outputFile << displayList(); 

답변

0

나는 그것을 믿지 COUT 라인 좀 무리입니다 오버로드 된 기능 :

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

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

기존 코드는 매개 변수없이 DisplayList()을 계속 호출하고 현재 동작을 얻을 수 있습니다. 대신 대상 파일을 지정하고자하는 코드는 호출 할 수

Displaylist(outputFile); 

그리고 출력은 대신 cout의 지정된 파일에 도착합니다.

이 대신 기본 인수가있는 함수로 수행 할 수 있지만 상황에 따라 오버로드 된 함수 쌍을 아마 간단하다고 생각합니다.

3

이의 당신의 DisplayList가 현재 같은 것입니다 가정 해 봅시다 :

DisplayList가이

+0

내 질문에 매우 감사합니다. –

+0

그렇게했는데 ostream이 선언되지 않았다는 것을 의미하는 것은 무엇입니까? 고맙습니다. –

+0

@ LeonardLie : 아마도 해당 파일에 올바른 헤더를 포함하지 않았을 것입니다. –