我想在visual studio 2008編寫的C++程序中使用這個函數。 據我所知Borland用來支持這個函數,但它不是一個標準的C++函數,VS 2008沒有識別這個代碼:是否可以在VS 2008中使用textbackground()函數?
textbackground(1);
我想知道是否有任何解決方案在VS 2008中使用此功能?
您可以閱讀更多關於此功能的信息here。
P.S.包括conio.h不起作用
我想在visual studio 2008編寫的C++程序中使用這個函數。 據我所知Borland用來支持這個函數,但它不是一個標準的C++函數,VS 2008沒有識別這個代碼:是否可以在VS 2008中使用textbackground()函數?
textbackground(1);
我想知道是否有任何解決方案在VS 2008中使用此功能?
您可以閱讀更多關於此功能的信息here。
P.S.包括conio.h不起作用
您需要做的是使用Windows NT的控制檯IO功能。
E.g. SetConsoleTextAttribute在控制檯上設置文本的屬性(前景色,背景色)。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms686047(v=vs.85).aspx描述了這個功能。在http://msdn.microsoft.com/en-us/library/windows/desktop/ms686974(v=vs.85).aspx上,您可以找到使用此控制檯功能(和其他控制檯功能)的示例代碼。
謝謝。它工作正常:)只是另一個問題,所以你的意思是沒有辦法使用確切的textbackground()函數? –
可能不是。我認爲textbackground是一個由Borland編譯器的運行時庫定義的函數。如果切換編譯器,則會得到其他運行時和庫(儘管標準C庫保持不變,但該函數不在標準C庫中)。通過使用這些Windows函數,您現在可以切換到Windows上運行的任何C編譯器,因此此函數不受特定編譯器的運行時限限制。 – Patrick
感謝您的解釋 –
只是爲了幫助別人多一點:
相反的:
textbackground(1);
我用SetConsoleTextAttribute()函數以這種方式:
# include <windows.h>
HANDLE screen;
int main()
{
screen = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(screen,1);
// your own code
return 0;
}
數指到顏色藍色。
你想要一個可以改變文本背景色的函數嗎?什麼背景?一個GUI?終端的?你有嘗試過什麼嗎? – chembrad
該功能的文檔在哪裏?這可能會告訴您需要包含哪些標題以及需要鏈接哪些庫。 – 2012-06-07 15:46:43
@infact,它似乎是某些平臺上的conio.h的一部分:http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devwin32/coniohpart_xml.html –