1 / 32

◎ 標準函數

◎ 標準函數. 標準函數庫中,提供了許多不同功能的函數,而這些函數的原型宣告以及使用函數相關的定義,依照相關函數的分類,分別定義在不同的標頭檔之中。 本來呼叫使用標準函數庫裡的函數,也就是使用模組裡的函數,是不需要引入其函數的原型宣告的,編譯器會自動連結( link )不同模組間的函數,使其正常的執行 如果事先宣告函數的原型,在編譯時,編譯器會依照它的原型檢查呼叫函數的引數個數、型態與傳回值的型態,事先發現錯誤,這是宣告原型的好處。

dexter
Download Presentation

◎ 標準函數

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ◎ 標準函數 • 標準函數庫中,提供了許多不同功能的函數,而這些函數的原型宣告以及使用函數相關的定義,依照相關函數的分類,分別定義在不同的標頭檔之中。 • 本來呼叫使用標準函數庫裡的函數,也就是使用模組裡的函數,是不需要引入其函數的原型宣告的,編譯器會自動連結(link)不同模組間的函數,使其正常的執行 • 如果事先宣告函數的原型,在編譯時,編譯器會依照它的原型檢查呼叫函數的引數個數、型態與傳回值的型態,事先發現錯誤,這是宣告原型的好處。 • 如果呼叫函數時需先使用其相關定義宣告一些資料,若沒引入標頭檔就會有未定義的情形而無法編譯,所以還是養成使用到那個函數,就先引入那個函數所屬的標頭檔。

  2. 時間與日期函數 • C語言中常用的時間與日期函數列表如下:

  3. time 取得目前時間之秒數 • 【函數原型】time_t time(time_t *tp); • 【標 頭 檔】<time.h> • 【說  明】取得目前時間之秒數。 • 【傳入參數】 tp為指定存放總秒數的長整數 位址,若不需要可傳入 NULL。 • 【傳 出 值】目前的秒數。

  4. ctime取得指定秒數之日期與時間字串 • 【函數原型】char* ctime(const time_t *tp); • 【標 頭 檔】<time.h> • 【說  明】將time_t型態的總秒數tp,轉換 成日期與時間字串,格式如同 Sun Mar 09 21:31:28 2003並且 加上換行符號。 • 【傳入參數】tp為以time函數取得總秒數之變 數位址。 • 【傳 出 值】換算之日期與時間字串的字元陣 列起始位址。

  5. gmtime--取得指定時間秒數之格林威治時間資料 • 【函數原型】struct tm* gmtime(const time_t *tm); • 【標 頭 檔】<time.h> • 【說  明】傳回指定時間秒數tm格林威治時 間之結構指標。 • 【傳入參數】指定time_t型態之時間秒數tp的 位址。 • 【傳 出 值】格林威治時間資料之結構位址。

  6. Localtime--取得指定時間秒數之時間資料 • 【函數原型】struct tm* localtime(const time_t *tm); • 【標 頭 檔】<time.h> • 【說  明】傳回指定時間秒數tm本地時間之 結構指標。 • 【傳入參數】指定time_t型態時間秒數tm的位 址。 • 【傳 出 值】系統中本地時間資料之結構位 址。

  7. clock--取得程式開始執行後的震盪滴答次數 • 【函數原型】clock_t clock(void); • 【標 頭 檔】<time.h> • 【說  明】取得程式開始執行後的震盪滴答 ticks次數。 • 【傳入參數】無。 • 【傳 出 值】震盪滴答ticks次數。

  8. 亂數函數 • 常用的亂數函數列表如下:

  9. rand取得亂數值 • 【函數原型】int rand(void); • 【標 頭 檔】<stdlib.h> • 【說  明】呼叫後會傳回0~RAND_MAX的 亂數值。 • 【傳入參數】無。 • 【傳 出 值】介於0~32767的亂數值。

  10. srand設定亂數的種子 • 【函數原型】void srand(unsigned int nseed); • 【標 頭 檔】<stdlib.h> • 【說  明】以nseed為亂數種子,來設定 rand函數所產生亂數 • 【傳入參數】nseed亂數種子值。 • 【傳 出 值】無。

  11. 數學計算函數(1/3)

  12. 數學計算函數(2/3)

  13. 數學計算函數(3/3)

  14. 字元測試函數(1/2)

  15. 字元測試函數(2/2)

  16. 型態轉換函數 • 常用的型態轉換函數列表如下:

  17. atoi 將字串轉換為整數 • 【函數原型】 int atoi( const char* szNumber ) ; • 【標 頭 檔】 <stdlib.h> • 【說  明】 將傳入以字串型態儲存的整數數 字szNumber,轉換為整數型態。 • 【傳入參數】szNumber為欲轉換為整數型態的 字串型態之整數數字,只轉換到能 成功轉換為整數的部份。 • 【傳 出 值】轉換後之整數值。

  18. atol將字串轉換為長整數 • 【函數原型】long atol( const char* szNumber ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】將傳入以字串型態儲存的長整數數 字szNumber,轉換為長整數型 態。 • 【傳入參數】szNumber為欲轉換為長整數型態 的字串型態之長整數數字,只轉換 到能成功轉換為長整數的部份。 • 【傳 出 值】轉換後之長整數值。

  19. atof 將字串轉換為倍精度浮點數 • 【函數原型】double atof( const char* szNumber ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】將傳入以字串型態儲存的浮點數數字 szNumber,轉換為浮點數型態。 • 【傳入參數】szNumber為欲轉換為浮點數型態的字 串型態之浮點數數字,只轉換到能成 功轉換為浮點數的部份。 • 【傳 出 值】轉換後之浮點數值。

  20. itoa將整數轉換為字串 • 【函數原型】char* itoa( int nValue, char* sz, int nRadix ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】將指定整數型態的整數nValue,轉 換成以nRadix為進制的數字(限2 ~36進制),放到sz所指向的字串 位址中。 • 【傳入參數】nValue為欲轉換為字串的整數。 • 【傳 出 值】轉換後數字之字元指標,即sz的位 址。

  21. ltoa將長整數轉換為字串 • 【函數原型】char* itoa( long lnValue, char* sz, int nRadix ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】將指定長整數型態的整數 lnValue,轉換成以nRadix為進制的 數字(限2~36進制),放到sz所指 向的字串位址中。 • 【傳入參數】lnValue為欲轉換為字串的長整數。 • 【傳 出 值】轉換後數字之字元指標,即sz的位 址。

  22. 字串輸出入函數

  23. 字串處理函數(1/2)

  24. 字串處理函數(2/2)

  25. 程式流程控制與其他函數

  26. abort以不正常的方式終止程式的執行 • 【函數原型】void abort( void ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】以不正常的方式強迫程式馬上停 止執行。 • 【傳入參數】無。 • 【傳 出 值】無。

  27. Exit 正常直接結束程式的執行 • 【函數原型】void exit( int nStatus ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】以正常的方式結束程式的執行, 程式結束前會先把檔案緩衝區的 資料寫回檔案中,再關閉檔案, 並且程式結束前會呼叫atexit所登 記,程式結束前執行的函數。 • 【傳入參數】nStatus值為傳遞給上一個呼叫母程序的值 • 【傳 出 值】無。

  28. atexit登記程式正常結束前執行的函數 • 【函數原型】int atexit( void (*pfuncExitProcessing)(void) ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】登記程式正常執束前會執行的函數, 在atexit原型宣告括號中的void (*pfuncExitProcessing)(void),是函 數指標的原型宣告,其為無傳入參數 與傳出值的型式,使用atexit函數時 直接把函數名稱放到括號內即可。

  29. system執行系統的指令 • 【函數原型】int system( const char* szCommand ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】 執行指定作業系統的指令 szCommand。 • 【傳入參數】szCommand為指定執行作業系統的 指令。 • 【傳 出 值】0為執行成功,-1為執行失敗。

  30. kbhit檢查是否有由鍵盤輸入資料 • 【函數原型】int kbhit( void ) ; • 【標 頭 檔】<conio_mingw.h> • 【說  明】檢查是否有由鍵盤輸入資料。 • 【傳入參數】無。 • 【傳 出 值】0為無鍵盤輸入的情形,非0值則 有。

  31. getenv取得系統中指定的環境變數內容 • 【函數原型】char* getenv( const char* szVarName ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】取得系統中指定名稱szVarName 之環境變數的內容。 • 【傳入參數】szVarName為指定找尋系統中環 境變數的名稱。 • 【傳 出 值】如果找到則傳出字串指標,沒找 到則傳出NULL。

  32. putenv設定系統的環境變數 • 【函數原型】char* putenv( const char* szNameEqValue ) ; • 【標 頭 檔】<stdlib.h> • 【說  明】以字串szNameEqValue設定系統 的環境變數。 • 【傳入參數】szNameEqValue為設定的環境變 數名稱與內容。 • 【傳 出 值】0值為設定成功,-1值為設定失 敗。

More Related