『壹』 c++標准庫有哪些
C++標准庫函數
c++程序通常可以調用標准c++庫中的大量函數。這些函數完成一些基本的服務,如輸入和輸出等,同時也為一些經常使用的操作提供了高效的
實現代碼。這些函數中含有大量的函數和類定義,以幫助程序員更好地使用標准c++庫。
標准c++庫包含以下內容:
,,,,,,,,,,,,<iterat
or>,,,,,,,,,,,,,,<strin
ig>,,,,,,,,,,,,,<cse
tjmp>,,,,,,,,,和
標准c++庫的詳細消息均在其對應的頭文件進行了說明。主要標准c++庫頭文件如下所示。其中13項為標准模板庫(STL),在其說明文字的前面標有(STL)的為標准模板庫。
---(STL)用於定義實現常用、實用演算法的大量模板
----- 用於定義官位位集合的模板類
-----用於在程序執行時執行斷言
-----用於對字元進行分類
-----用於測試有庫函數提交的錯誤代碼
------用於測試浮點類型屬性
----用於在ISO646變體字元集中編程
-----用於測試整數類型屬性
-----用於使程序適應不同的文化風俗
———用於計算常用的數學函數
-----用於定義支持復雜演算法的模板類
-----用於執行非局部的goto語句
------用於控制各種異常情況
-----用於訪問參數數量文化的函數
-----用於訪問參數數量變化的函數
----用於定義實用的類型和宏
-----用於執行輸入和輸出
----用於執行同一操作的不同版本
-----用於處理幾種不同的字元串類型
------用於在幾種不同的時間和日期格式間進行轉換
----用於處理寬流(wide stream)和字元串
---用於對寬字元(wide character是)分類
---(STL)用於定義實現雙向隊列容器的模板類
---用於定義控制異常處理的幾個函數
-----用於定義處理外部文件的幾個iostream模板類
-----(STL)用於定義幾個模板,該模板將幫助在和中定義的 模板構造謂詞
---- 用於聲明一個帶有參數的iostreams控制器
-----用於定義用作大量iostreams類的基類的模板類
-----用於定義iostreams模板類(在需要定義之前)
---用於聲明處理標准流的iostreams對象
---用於定義執行析取操作的模板類
----(STL)用於定義幫助定義和管理迭代器的模板
---用於測試數字類屬性
---(STL)用於定義實現list容器的模板類
----用於定義在iostreams類中控制與特定位置相關的行為的類和模板
------(STL)用於定義實現關聯容器的模板類
-----(STL)用於定義對不同容器分配和釋放內存的模板
-----(STL)用於定義實現實用數字函數的模板
----用於定義管理字元串容器的iostreamas模板類
----(STL)用於實現隊列容器的模板類
-----(STL)用於定義實現只有唯一元素的關聯容器的模板類
----用於定義管理字元串容器的iostreams模板類
-----(STL)用於定義實現堆棧容器的模板類
----用於定義提交異常的類
----用於定義為iostreams操作分配緩沖區的模板類
------用於定義是實現字元串容器的模板類
-----用於定義處理非內存(in-memory)字元系列的iostreams類
-----(STL)用於定義通用工具的模板
----用於定義支持值(value-oriented)數組的類和模板類
----(STL)用於定義實現向量容器的模板類
標准c++庫還包括18個標准C庫中的頭文件,但其中有些變化。我們暫時不討論,這些頭文件為:
---用於在程序運行時執行斷言
----用於對字元分類
----用於測試用庫函數提交的錯誤代碼
----用於測試浮點類型屬性
-----用於在IOS646變體字元集中編程
-----用於測試整數類型屬性
-----用於適應不同的文化習俗
----用於計算常見的數學函數
----用於執行非局部的goto語句
----用於控制各種異常情況
-----用於訪問參數數量變化的函數
-----用於定義類型和宏
------用於執行輸入和輸出
------用於執行各種操作
-----用於處理字元串
-------用於在不同的時間和日期格式之間轉換
-----用於處理寬流(wide stream)和字元類
-----用於對寬字元(wide character)分類
原載地址:http://blog.csdn.net/wh0826/article/details/5380634
分類: C & C++
『貳』 ANSI C標準的主要編譯器的支持
ANSI C現在被幾乎所有廣泛使用的編譯器支持。現在多數C代碼是在ANSI C基礎上寫的。任何僅僅使用標准C並且沒有任何硬體依賴假設的代碼實際上能保證在任何平台上用遵循C標準的編譯器編譯成功。如果沒有這種預防措施,多數程序只能在一種特定的平台或特定的編譯器上編譯,例如,使用非標准庫,例如圖形用戶界面庫,或者有關編譯器或平台特定的特性例如數據類型的確切大小和位元組序.
[編輯]選擇編譯 為了減輕K&R C和ANSI C標准,__STDC__(standard c)宏可以被用來將代碼分割為ANSI和K&R部分。
#if __STDC__
externint getopt(int,char*const*,constchar*);
#else
externint getopt();
#endif
上面最好使用#if __STDC__而不是#ifdef __STDC__,因為一些實現可能會把 __STDC__設置為0來表示不遵循ANSI C。__STDC__能處理任何沒有被宏替換或者值為0的標示符。因而即使宏__STDC__沒有定義來表示不遵循ANSI C,__STDC__仍然能像顯示的那樣工作。
在上面的例子,一個原型中使用了ANSI實現兼容的函數聲明,而另一個使用了過時的非原形聲明。它們在C99和C90中依舊是ANSI兼容的,但並不被鼓勵使用。
『叄』 在C中,什麼是標准庫函數
在C語言程序設計里,C 標准函數庫(C Standard library) 是所有符合標準的頭文件(head file)的集合,以及常用的函數庫實現程序,例如I/O 輸入輸出和字元串昌裂姿控制。不像COBOL、Fortran和PL/I等編程語言,在 C 語言的工作任務里不會包含嵌入的關鍵字,所以幾乎所有的 C 語言程序都是由標准函數庫的函數來創建的。
每一個函數的名稱與特源搏性會被寫成一個電腦文件,這個文件就稱為頭文件,但是實際的函數實現是被分存到函數庫文件里。頭文件的命名和領域是很常見的,但是函數庫的組織架構也會因為不同的編譯器而有所不同。標准函數庫通常會隨附在編譯器上。因為 C 編譯器常會耐絕提供一些額外的非ANSI C函數功能,所以某個隨附在特定編譯器上的標准函數庫,對其他不同的編譯器來說,是不兼容的。