2013-09-30 29 views
0

我正在服用我的第一個C++類(並且我在第6周)。除了cstdio之外,getchar()在哪裏?

我使用了getchar(),根據每個參考我可以找到,位於cstdio(或stdio或stdio.h )只是看看會發生什麼我注意到

#include <cstdio> 

很讓我驚訝的是,我的程序仍然沒有錯誤地運行。我包括的其他庫有:algorithm,cstdlib,iostream和string。我認爲getchar()是其中一個其他庫的一部分,但是在互聯網上搜索時,我沒有看到任何提及任何非類cstdio庫的參考。

cstdio和cstdlib是一回事嗎?

有什麼庫的每個方法/命令的權威參考?

謝謝你容忍我的noob問題。 〜d

+0

AFAIK'getchar'只保證在'stdio.h'中,'std :: getchar'只保證在'cstdio'中。你不能依靠從其他頭文件獲取它。 – juanchopanza

回答

3

答案是,你的其他頭文件之一也包括<cstdio>或它的等價物(我猜<iostream>)。

包括<cstdio>是正確的做法。如果你不這樣做,你可能會發現當你的代碼和其他編譯器一起使用時,你的代碼會停止編譯。

BTW頭文件不是庫,以及哪些頭文件是C++和C標準文檔中找到的明確參考。

另外BTW這種實驗正是你應該作爲一個新的C++程序員做的事情。

+0

實際上,我不認爲'cstdio'有*保證''''std'命名空間外有'getchar'(雖然它被允許)。 – juanchopanza