2011-11-10 4 views
0

Im 내 cout 출력의 색상을 변경하려고 시도했지만 그 cout이 다시 같은 색상으로 변경됩니다. cout 텍스트의 색상 변경 C++

는 필자는 다음과 같은 코드를 시도 :

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4); 
     cout << "Help-Please" << endl; 

을하지만 cout을 완료 한 후에도 계속됩니다. 또한 이러한 색상 변경 중 일부는 if 문 내부에 추가됩니다. 이 효과를 얻기 위해 내가 추가 할 코드는 무엇입니까?

답변

2

텍스트 색상이 그대로 유지되므로 SetConsoleTextAttribute를 다른 색상으로 다시 호출해야합니다.

편집 : 각 텍스트 출력은 SetConsoleTextAttribute에 대한 마지막 호출의 색을 사용하므로 다른 색 (또는 단어/문자)으로 다른 색을 사용할 수 있습니다.

+0

나는 그것을 시험해 보았다. 그러나 그것은 여전히 ​​하이라이트를 제거 할 수 있는가? – Sinner

+0

텍스트의 강조 표시로 무엇을 의미합니까? 기억나요? 아니면 잊었습니까? * 및 * 배경 _ ...은 적절합니까? –

+0

SetConsoleTextAttribute는 새로 인쇄 된 텍스트에만 영향을줍니다. 되돌아 가서 이미 인쇄 된 텍스트의 색을 변경하지 않습니다. 이미 인쇄 된 텍스트가 색상을 변경하게하려면 뒤로 돌아가 새로운 색상으로 다시 인쇄해야합니다. –

-1

stdlib.h에는 모든 텍스트 색상을 변경하는 색상 명령이 있습니다. 예 system("color 0B");