2016-04-27 23 views
1

我目前正在學習使用OpenGL,並開始我正在遵循http://www.opengl-tutorial.org/的一系列教程。用「fprintf」打印錯誤後調用「getchar()」是什麼意思?

在第一個教程,他們開始的main()這個if語句:

// Initialize GLFW 
if (!glfwInit()) 
{ 
    fprintf(stderr, "failed to initialize GLFW\n"); 
    getchar(); 
    return -1; 
} 

據我所知,fprintf中是一個緩衝的打印這是一種用於指示錯誤的標準。返回-1也是有意義的。但是在指出錯誤之後調用getchar()有什麼意義?

感謝。

+2

通過等待用戶輸入來阻止應用程序關閉。 –

+1

可能的重複:[在C程序完成時暫停屏幕](http://stackoverflow.com/questions/9386651/pause-screen-at-program-completion-in-c) – NathanOliver

+0

它只是在那裏,所以你必須擊中任何鑰匙在繼續之前。 –

回答

6

這可能是因爲.exe是一個命令行工具。沒有調用getchar(),如果用戶只是簡單地雙擊Windows上的.exe文件,並且程序立即出現錯誤並退出,用戶只會看到一個命令提示符窗口,然後消失,並且永遠不會看到錯誤。等待用戶輸入使用戶有機會看到發生了什麼。

1

getchar()用於在執行後暫停應用程序,以使命令行和輸出保持可見狀態。

沒有getchar函數,應用程序會立即退出,如果從圖形用戶界面啓動,結果/錯誤將不可見。