工控編程,C++常用庫函數彙總講解

【工控課堂】電氣工程師必備網站!海量免費資源下載學習! 下載地址:

我們學習了程序設計中的三種基本結構(順序、分支、循環),用它們可以組成任何程序。但在應用中,還經常用到子程序結構。

通常,在程序設計中,我們會發現一些程序段在程序的不同地方反覆出現,此時可以將這些程序段作為相對獨立的整體,用一個標識符給它起一個名字,凡是程序中出現該程序段的地方,只要簡單地寫上標識符即可。這樣的程序段,我們稱之為子程序(函數)。下面介紹一下C++提供的各種標準函數。

工控編程,C++常用庫函數彙總講解

C++常用庫函數

1.緩衝區操作函數

1-1 函數名: memchr

函數原型: void *memchr(const void *buf, int c, sizet count);

參數: buf 緩衝區的指針; c 查找的字符; count 檢查的字符個數。

所需頭文件: <cstring>

功能:查找 buf 的前 count 個字節中 c 的第一次出現,當找到 c 或已檢查完 count 個字節時停止。

返回值:如果成功,返回 buf 中 c 首次出現的位置的指針;否則返回 NULL

1-2 函數名: memcpy

函數原型: void *memcpy(void *dest, const void *src, sizet count);

參數: dest 目的緩衝區; src 源緩衝區; count 拷貝的字符個數。

所需頭文件 <cstring>

功能:從 src 拷貝 count 個字節到 dest。如果源緩衝區和目的緩衝區重疊,這個函數不能保證正確拷貝;對於這種情況可使用 memmove 處理。

返回值:返回 dest 的值。

1-3 函數名: memicmp

函數原型: int memicmp(const void *buf1, const void *buf2, unsigned intcount);

參數: bufl 第一個緩衝區; buf2第二個緩衝區; count 字符個數。

所需頭文件: <cstring>

功能:比較兩個緩衝區 bufl 和 buf2的前 count 個字符,比較過程是大小寫無關的。

返回值: bufl 和 buf2的前 count 個字節之間的關係:

<0: bufl 小於 buf2;=0: bufl 等於 buf2; >0: bufl 大於 bur2

1-4 函數名: memmove

函數原型: void *memmove(void *dest, const void *src, sizet count);

參數: dest 目的對象; src 源對象; count 拷貝的字符字節個數。

所需頭文件; <cstring>

功能:從 src 拷貝 count 個字節到 dest。如果源區域與目的區域有重疊, memmove 也能確保正確拷貝。

返回值:返回 dest 的值。

1-5 函數名: memset

函數原型: void *memset(void *dest, int c, sizet count);

參數: dest 目的指針; c 設置的字符; count 字符個數。

所需頭文件: <cstring>

功能:設置 dest 的前 count 個字節為字符 c。

返回值:返回 dest 的值。

1-6 函數名: swab

函數原型: void swab(char *src, char *dest, int n);

參數: src 需拷貝和交換的數據; dest 交換結果數據的存儲位置; n 拷貝和交換的字節個數。

所需頭文件: <cstdlib>

功能:從 src 拷貝 n 個字節,交換每對相鄰的字節,並把結果存儲在 dest 中。一般用於為轉換到使用不同字節次序的機器上而準備二進制數據。

返回值:無


2.字符分類函數

2-1 函數名: isalnum

函數原型: int isalnum(int c);

所需頭文件: <cctype>

功能:測試 c 是否字母或數字。

返回值:如果 c 在 A~Z、 a~z 或0~9的範圍內,則返回一個非0值;否則返回0。

2-2 函數名: isalpha

函數原型: int isalpha(int c);

所需頭文件: <cctype>

功能:測試 c 是否字母。

返回值:如果 c 在 A~Z 或 a~z 的範圍內,則返回一個非0值;否則返回0。

2-3 函數名: isascll

函數原型: int isascll (int c);

所需頭文件: <cctype>

功能:測試 c 是否 ASCII 字符。

返回值:如果 c 為一個0x00~0x7F 之間的 ASCII 字符,則返回一個非0值:否則返回0。

2-4 函數名: iscntrl

函數原型: int iscntrl(int c);

所需頭文件: <cctype>

功能:測試 c 是否控制字符,

返回值:如果 c 是一個控制字符(0x00~0xlF 或0x7F),則返回一個非0值,否則返回0。

2-5 函數名: iscsym

函數原型: int iscsym (int c);

所需頭文件: <cctype>

功能:測試 c 是否字母、下劃線或數字。

返回值:如果 c 是一個字母、下劃線或數字,則返回一個非0值;否則返回0。

2-6 函數名: iscsymf

函數原型: int iscsymf (int c);

所需頭文件: <cctype>

功能:測試是否字母或下劃線。

返回值:如果 c 是一個字母或下劃線,則返回一個非0值;否則返回0。

2-7 函數名: isdigit

函數原型: int isdigit(int c);

所需頭文件: <cctype>

功能:測試是否十進制數字。

返回值:如果 c 是一個十進制數字(0~9),則返回一個非0值;否則返回0。

2-8 函數名: isgraph

函數原型: int isgraph(int c);

所需頭文件: <cctype>

功能:測試是否空格外的可打印字符。

返回值:如果 c 是一個非空格的其它可打印字符,則返回一個非0值;否則返回0。

2-9 函數名: islower

函數原型: int islower(int c);

所需頭文件: <cctype>

功能:測試是否小寫字母。

返回值:如果 c 是一個小寫字母(a~z)

2-10 函數名: isprint

函數原型: int isprint(int c);

所需頭文件: <cctype>

功能:測試是否可打印字符。

返回值:如果 c 是一個可打印字符包括空格字符(0x20~0x7E),則返回一個非0值;否則返回0。

2-11 函數名: ispunct

函數原型: int ispunct(int c);

所需頭文件: <cctype>

功能:測試是否標點符號。

返回值:如果 c 是一個非空格字符並且是 isalnum 不為真的字符,則返回一個非0值;否則返回0。

2-12 函數名: isspace

函數原型: int isspace(int c);

所需頭文件: <cctype>

功能:測試是否空白。

返回值:如果 c 是一個空白字符(0x09~0x0D 或0x20) 則返回一個非0值;否則返回0。

2-13 函數名: isupper

函數原型: int isupper(int c);

所需頭文件: <cctype>

功能:測試是否大寫字母。

返回值:如果 c 是一個大寫字母,則返回一個非0值;否則返回0。

2-14 函數名: isxdigit

函數原型: int isxdigit(int c);

所需頭文件: <cctype>

功能:測試是否十六進制數字。

返回值:如果 c 是一個十六進制數字(A~F, a~f 或0~9),則返回一個非0值;否則返回0。


3.數據轉換函數

3-1 函數名: abs

函數原型: int abs(int n);

參數: n 整數值。

所需頭文件: <cstdlib>

功能:求絕對值。

返回值:返回 n 的絕對值。

3-2 函數名: atof, atoi, atol

函數原型: double atof(const char *string);

int atoi(const char *string);

long atol(const char *xstring);

參數: string 要轉換的字符串。

所需頭文件: <cstdlib>

功能:將字符串轉換成 double(atof)、 integer(atoi)或 long(ato1)型數據。

返回值:返回轉換後的結果值,如果輸入不能轉換成對應類型的值,返回值為0.0(atof)或

0(atoi, atol)。溢出情況下返回值不確定。

3-3 函數名: ecvt

函數原型: char *ecvt (double value, int count, int dec, int *sign);

參數: value 被轉換的數; count 存儲的數字個數; dec 存儲的小數點位置; sign 轉換的數的符號。

所需頭文件: <cstdlib>

功能:將 double 型浮點數轉換成指定長度的字符串,

返回值:返回數字字符串的一個指針;沒有錯誤返回

3-4 函數名: labs

函數原型: long labs(long n);

參數: n 長整數值。

所需頭文件: <cstdlib>

功能:求 long 整數的絕對值。

返回值:返回 n 的絕對值;沒有錯誤返回。

3-5 函數名: strtod

函數原型: double strtod(const char *nptr, char **endptr);

參數: nptr 要轉換的以空字符結尾的字符串; endptr 停止掃描的字符的指針。

所需頭文件: <cstdlib>

功能:將字符串 nptr 轉換成 double 型數據,在遇到第一個不能作為數值識別的字符時停止,這可能是結尾的空字符。

返回值:返回轉換後的結果。如果發生上溢,函數返回十/一 HUGEVAL, HUGEVAL 的符號與需轉換的值符號相同。如果不能進行轉換或出現下溢出,則返回0。

3-6 函數名: strtol

函數原型: long strtol(const char *nptr, char **endptr, int base);

參數: nptr 要轉換的以空字符結尾的字符串; endptr 停止掃描的字符的指針;

base 使用的基數。

所需頭文件: <cstdlib>

功能:將字符串 nptr 轉換成 long 型數據。在遇到第一個不能作為數值識別的字符時停止,這可能是結尾的空字符,或者是第一個大於或等於 base 的數值字符。

返回值:返回轉換後的結果。如果發生上溢,函數返回 LONGMAX 或 LONGMIN。如果不能執行轉換,則返回0。

3-7 函數名: strtoul

函數原型: unsigned long strtoul(const char *nptr, char **endptr, int base);

參數: nptr 要轉換的以空字符結尾的字符串; endptr 停止掃描的字符的指針; base 使用的基數。

所需頭文件: <cstdlib>

功能:將字符串 nptr 轉換成 unsignedlong 型數據。在讀到字符串中第一個不能作為數值識別的字符時停止,這可能是結尾的空字符或者是大於或等於 base 的第一個數值字符。

返回值:返回轉換後的結果。如果發生上溢,函數返回 ULONGMAX。如果不能執行轉換,則返回0。

3-8 函數名: tolower

函數原型: int tolower(int c);

參數: c 要轉換的字符。

所需頭文件: <cstdlib>和<cctype>/<cstdlib>

功能:將字符轉換為小寫字母。

返回值:返回轉換結果。

3-9 函數名: toupper

函數原型: int toupper(int c);

參數: c 要轉換的字符。

所需頭文件: <cstdlib>和<cctype>/<cstdlib>

功能:將字符轉換為大寫字母。

返回值:返回轉換結果。


4.數學函數

4-1 函數名: abs

函數原型: int abs(int n) ;

參數 in 需要求絕對值的整數。

所需頭文件: <cstdlib>或<cmath>/<cstdlib>

功能和返回值:返回 n 的絕對值;沒有錯誤返回

4-2 函數名: acos

函數原型: double acos(double x) ;

參數: x 是-1到 l 之間的值。

所需頭文件; <cmath>

功能和返回值:計算並返回範圍在0到 π 弧度之間的 x 的反餘弦值。

4-3 函數名: asin

函數原型: double asin(double x);

參數: x 是-l 到1之間的值。

所需頭文件: <cmath>

功能和返回值:計算並返回範圍在-π/2到 π/2弧度之間的 x 的反正弦值。

4-4 函數名: atan, atan2

函數原型: double atan(double x);

double atan2(double y, double x);

所需頭文件: <cmath>

功能:計算 x(atan)或 y/x(atan2)的反正切值。

返回值: atan 返回 x 的反正切值, atan2返回 y/x 的反正切值。如果 x 為0,則 atan 返回0。

如果 atan2的兩個參數都為0,該函數返回0。

4-5 函數名: atof

函數原型: double atof(const char ustring);

參數: string 需要轉換的字符串。

所需頭文件: <cmath>或<cstdlib>/<cmath>

功能和返回值:將字符串轉換成 double 值並返回該值。如果 string 不能轉換成 double 類型的值,返回值為0.0。

4-6 函數名: ceil

函數原型: double ceil(double x);

所需頭文件: <cmath>

功能:對 x 向上取整,並以 double 型浮點數形式存儲結果。

返回值:返回一個 double 型的大於或等於 x 的最小整數;沒有錯誤返回。

4-7 函數名: cos, cosh

函數原型: double cos(double x);

參數: x 弧度值。

所需頭文件: <cmath>

功能和返回值:計算並返回 x 的餘弦值(cos)或雙曲餘弦值(cosh)。

4-8 函數名: difftime

函數原型: double difftime(timet timerl, timet timer0);

參數: timerl 終止時間; timerO 開始時間。

所需頭文件: <ctime>

功能:計算兩個指定時間值之間的差。

返回值:返回從 timer0到 timerl 之間經過的時間

4-9 函數名: div

函數原型: div_t div(int numer, int denom);

參數: numer 被除數; dehorn 除數。

所需頭文件: <cstdlib>

功能:用 numer 除以 denom,計算商與餘數。如果除數為0,程序輸出一個錯誤消息並終止。

返回值:返回一個 div_t 類型的結構,它由商與餘數組成。

4-10 函數名: exp

函數原型: double exp(double x);

所需頭文件: <cmath>

功能和返回值:計算並返回 e 的 x 次冪。

函數名: fabs

函數原型: double fabs(double x);

所需頭文件: <cmath>

功能和返回值:計算並返回浮點參數 x 的絕對值。

4-11 函數名: floor

函數原型: double floor(double x);

所需頭文件: <cfloat>

功能:向下取整,並以 double 型浮點數形式存儲結果。

返回值:返回一個 double 型的小於或等於 x 的最大整數;沒有錯誤返回。

4-12 函數名: fmod

函數原型: double fmod(double x, double y);

所需頭文件: <cmath>

功能和返回值:計算並返回 x/y 的餘數,如果 y 值是0. 0,返回一個靜止 NaN。

4-13 函數名: frexp

函數原型: double frexp(doublex, Int‘expptr);

參數: x 需要求出尾數和指數的浮點數; expptr 指向指數值的指針

所需頭文件: <cmath>

功能:取得一個浮點數的尾數和指數。

返回值:返回尾數。如果 x 為0,尾數和指數都為0。

4-14 函數名: hypot

函數原型: double hypot (double x, double y);

參數:直角三角形的兩個直角邊長度。

所需頭文件: <cmath>

功能和返回值:計算並返回直角三角形的斜邊長度(x 與 y 的平方根),上溢出時返 INF(無窮大)。

4-15 函數名: 1abs

函數原型: long labs(1ong n)

所需頭文件: <cstdlib>

功能和返回值:返回 long 型參數 n 的絕對值

4-16 函數名: ldexp

函數原型: double ldexp(double x, int exp);

參數: x 尾數; exp 指數。

所需頭文件: <cmath>

功能和返回值:計算並返回變量x和2的指定乘方的乘積(x*2exp)。

4-17 函數名: ldiv

函數原型: ldiv_t ldiv(10ng Int numer, longlilt denom);

參數: numer 被除數; denom 除數。

所需頭文件: <cstdlib>

功能:用 numer 除以 denom,計算商與餘數。如果除數為0,程序輸出一個錯誤消息並終止。

返回值: 返回一個 ldiv_t 類型的結構,它由商和餘數組成,定義在 cstdlib 中。

4-18 函數名: log

函數原型: double log(double x);

所需頭文件: <cmath>

功能和返回值:計算並返回 x 的自然對數。如果 x 是負數,返回值不確定。如果 x 為0,返回 INF(無窮大)。

4-19 函數名: logl0

函數原型: double logl0(double x);

所需頭文件: <cmath>

功能和返回值:汁算並返回 x 的以10為底的對數。如果 x 是負數,返回值不確定。如果 X

為0,返回 INF(無窮大)。

4-20 函數名: logb

函數原型: double logb (double x);

所需頭文件: <cfloat>

功能和返回值:返回雙精度浮點參數 x 的無偏的指數值。

2-21 函數名: lrotl, lrotr

函數原型: unsigned long lrot (unsigned long value, int shift)

unsigned long lrotr (unsigned long value, int shift);

參數: value 需要移位的數值; shift 需要移動的位數。

所需頭文件: <cstdlib>

功能:循環移動 value 值 shift 位。

返回值:返回循環移位後的值。

4-22 函數名: max

函數原型: type max (type a, type b);

參數: type 任何數值數據類型; a 和 b 是參與比較的兩個數,必須是相同類型。

所需頭文件: <cstdlib>

功能和返回值:比較 a 和 b 並返回其中較大者。

4-23 函數名: min

函數原型: type min (type a, type b);

參數: type 任何數值數據類型。 a 和 b 是參與比較的兩個數,必須是相同類型。

所需頭文件: <cstdlib>

功能和返回值:比較 a 和 b 並返回其中較小者。

4-24 函數名: modf

函數原型: double modf(double x, double *inptr);

參數: x 需要分解的數; lnptr 指向分解後整數部分的指針。

所需頭文件: <cmath>

功能和返回值:將浮點值 x 分解成小數和整數部分,每個都與 x 具有同樣的符號。返回 x

的帶符號的小數部分,整數部分作為浮點值存儲在 intptr 處。

4-25 函數名: nextafter

函數原型: double nextafter (double x, double y);

所需頭文件: <cfloat>

功能和返回值:返回 x 與 y 之間,與 x 最鄰近的可表示的浮點數。如果 x=y, nextafter 返回 x,沒有異常觸發。

4-26 函數名: pow

函數原型: double pow(double x, double y);

所需頭文件: <cmath>

功能和返回值:計算並返回 x 的 y 次冪。

4-27 函數名: printf

函數原型: int printf(const char *format[, argument]…);

參數: format 格式控制字符串; argument 待輸出的內容,任選參數。

所需頭文件: <cstdio>

功能:格式化並輸出一系列字符和數值到標準輸出流 stdout。如果有參數 argument 跟隨

format 字符串,該 format 字符串必須包含確定該參數輸出格式的格式符。

返回值:返回輸出的字符個數:如果出現錯誤,則返回一個負數。

4-28 函數名: rand

函數原型: int rand(void);

所需頭文件: <cstdlib>

功能和返回值:返回一個 0 ~ RAND_MAX 的隨機數

4- 29 函數名: scanf

函數原型: int scanf(const char *format[, argument)... );

參數: format 格式控制字符串; argument 可選參數,表示輸入內容的存放地址。

所需頭文件: <cstdio>

功能: scanf 函數從標準輸人流 stdin 讀數據並把所讀數據寫到 argument 指定的位置。每個argument 必須是對應於 format 中一個類型指示符的類型的變量的一個指針。

返回值:返回成功轉換和賦值的域的個數。

4-30 函數名: sin, sinh

函數原型: double sin(double x);

double sinh(double x);

參數: x 弧度值。

所需頭文件: <cmath>

功能和返回值: sin 返回 x 的正弦值。 sinh 返回 x 的雙曲正弦值。

4-31 函數名: sqrt

函數原型: double sqrt(double x);

所需頭文件: <cmath>

功能和返回值:計算並返回 x 的平方根。

4-32 函數名: srand

函數原型: void srand(unsigned int seed);

參數: seed 產生隨機數的種子。

所需頭文件: <cstdlib>

功能:為使 rand()產生一序列偽隨機整數而設置起始點。使用1作為 seed 參數,可以重新

初始化 rand()。

4- 33 函數名: tan, tanh

函數原型: double tan(double x);

double tanh(double x);

參數: x 弧度值。

所需頭文件: <cmath>

功能和返回值: tan 返回 x 的正切值。 tanh 返回 x 的雙曲正切值。

5.輸入和輸出函數

5-1 函數名: fclose

函數原型: int fclose(FILE *stream);

參數: streamFILE 結構的指針。

所需頭文件: <cstdio>

返回值:如果該流成功關閉, fclose 返回0。如果出錯,則返回 EOF。

功能:關閉流。

5-2 函數名: ferror

函數原型: int ferror(FILE *stream);

參數: stream FILE 結構的指針。

所需頭文件: <cstdio>

功能:測試與 stream 關聯的文件上的讀寫錯誤。如果出現一個錯誤,該函數將設置該流的錯誤指示符並且保留到該流被關閉、重繞或者後面調用了 clearerr 函數。

返回值:如果 stream 上沒有出現錯誤, {error 返回0;否則返回一個非0值。

5-3 函數名: fprintf

函數原型: int fprintf(FILE *stream, const char *format[, argument]... );

參數: stream FILE 結構的指針; format 格式控制字符串; argument 需要輸出的內容。

所需頭文件: <cstdio>

功能:格式化並輸出一系列字符和數值到輸出流 stream 中。每個參數 argument(如果存在)根據 format 中對應的格式規範轉換和輸出。 format 參量與 printf 中的該參量具有相同的語法和用途。

返回值:返回所寫的字節數,當出現錯誤時函數返回一個負數。

5-4 函數名: freopen

函數原型: FILE *freopen(const char *path, const char *mode, FILE *stream);

參數; path 新文件的路徑; mode 文件訪問許可; stream FILE 結構的指針。

所需頭文件: <cstdio>

功能:關閉當前與 stream 關聯的文件,並將 stream 重新賦給由 path 指定的文件。

返回值:返回最新打開的文件的指針。如果出現錯誤,最初的文件被關閉並返回

NULL 指針值。

5-5 函數名: fscanf

函數原型: int fscanf(FILE *stream, const char *format[, argument]... );

參數: streamFILE 結構的指針; format 格式控制字符串。 format 控制對輸入內容的格式轉換,它與 scanf 中的 format 參量具有同樣的格式和功能。每個 argument 必須是對應於 format中一個類型指示符的類型的指針,作為讀人數據的存放地址,是可選參量。

所需頭文件: <cstdio>

功能:從 stream 的當前位置讀數據到 argument 值定的位置(如果有)。

返回值:返回成功轉換和存儲的域個數,返回值不包括被瀆但沒有分配存儲位置的域。返回值0指出所有域都沒有分配存儲位置。如果出現錯誤,或者在轉換之前到達文件流末尾,則返回值為 EOF。

5-6 函數名: getchar

函數原型: int getchar(void);

所需頭文件: <stdio>

功能和返回值:從 stdin 讀取一個字符並返回所讀字符,當出現讀錯誤或遇到文件結尾時返回 EOF。

5-7 函數名: gets

函數原型: char *gets(char *buffer);

參數: buffer 輸入字符串的存儲位置。

所需頭文件: <cstdio>

功能:從標準輸入流 stdin 讀取一行,並存儲在 buffer 中。該行由直到第一個換行符(‘\n’)

的所有字符組成,幷包括該第一個換行符,然後 gets 在返回該行之前用空字符(‘\0’)代替換行符。

返回值:如果成功,返回 buffers 如果有錯誤或遇到文件結尾則返回 NULL 指針。

5-8 函數名: printf

函數原型: int printf(eonst char *format[, argument]... );

參數: format 格式控制字符串; argument 待輸出的內容,任選參數。

所需頭文件: <stdio>

功能:格式化並輸出一系列字符和數值到標準輸出流 stdout。如果有參數 argument 跟隨

format 字符串,該 format 字符串必須包含確定該參數輸出格式的格式符。

返回值:返回輸出的字符個數,如果出現錯誤則返回一個負數。

5-9 函數名: putc

函數原型: int putc(int c, FILE *stream);

參數: c 要寫的字符; streamFILE 結構指針。

所需頭文件: <cstdio>

功能:寫一個字符到流 stream 中。

返回值;返回所寫的字符;如果出現錯誤,返回 EOF。

5-10 函數名: putchar

函數原型; int putchar(int c);

參數: c 要寫的字符。

所需頭文件; <cstdio>

功能:寫一個字符到 stdout 中。

返回值:返回所寫的字符;如果出現錯誤,返回 EOF。

5-11 函數名: puts

函數原型: int puts(const char *string);

參數: string 要輸出的字符串。

所需頭文件: <cstdio>

功能:將 string 寫到標準輸出流 stdout,在輸出流中用換行符( ‘\n’)代替字符串的結尾的空字符( ‘\0’)。

返回值:如果成功,返回一個非負值;如果失敗,返回 EOF。

5-12 函數名: scanf

函數原型: int scanf(const char *format[, argument]... );

參數: format 格式控制字符串,控制對輸入內容的格式轉換。每個 argument 必須是對應於format 中一個類型指示符的類型的指針,作為讀人數據的存放地址,是可選參量。

所需頭文件: <cstdlih>

功能:從標準輸入流 stdin 讀數據,並把所讀數據寫到 argument 給定的位置

返回值:返回成功轉換和存儲的域的個數。返回值不包括已讀但未存儲的域

出所有域都沒有分配存儲位置。錯誤時返回值為 EOF。

5-13 函數名: sprintf

函數原型: int sprintf(char *buffer, const char *format[. Argument] ... );

參數:buffer 要寫人數據的目標地;format 格式控制字符串;argument 要格式化並寫入 buffer的數據項,是任選參數。

所需頭文件: <cstdio>

功能:將數據格式化後寫到字符串中:將每個 argument 按照 format 指定的格式轉換成字符串並存儲在從 buffer 開始的內存中。這裡的格式符與 printf 中 format 參數具有同樣的格式和功能。如果被格式化和存儲的字符串與目的字符串之間有重疊,則此函數的執行效果是不確定的。

返回值:返回存儲在 buffer 中的字節數,不包含尾部的空字符。

5-14 函數名: sscanf

函數原型: int sscanf(const char *buffer, const char *format[. Argument] ... );

參數: buffer 存儲要被讀取並轉換的數據。 format 格式控制字符串。每個 argument 必須是對應於 format 中一個類型指示符的類型的指針,作為讀人數據的存放地址,是可選參量。

所需頭文件: <cstdio>

功能:按 format 指定的格式,由 buffer 讀取字符數據並轉換後存儲到每個 argument 指定的位置中。每個 argument 必須是與 format 中的類型指示符對應的類型變量的指針。 format與 scanf 函數的 format 參數具有同樣的格式和功能。

返回值:返回成功轉換和存儲的數據個數。返回的值不包括已讀但未存儲的域。返回值0指

出所有域都沒有分配存儲位置。如果出現錯誤或在第一個轉換之前到達字符串結尾,則返回值是 EOF。

5-15 5.進程控制函數

函數名: exit

函數原型: void exit(int status);

參數: status 退出狀態。

所需頭文件: <cstdlib>

功能:終止進程。

5-16 函數名: system

函數原型: int system(const char*command)

參數: command 要執行的命令。

所需頭文件: <cstdlib>

功能: 把 command 傳給命令解釋器,像執行操作系統命令那樣執行該字符串。

返回值: 返回該命令解釋器所返回的值,且當該命令解釋器返回0時它返回0。返回值-1指出一個錯誤。

6.字符串操作函數

6-1 函數名: strcat

函數原型: char *strcat(char*strDestination, const char *strSource);

參數: strDestination 以空字符結尾的目的字符串 strSource 以空字符結尾的源字符串。

所需頭文件: <cstring>

功能: 將 strSource 添加到 strDestination,並用一個空字符結束該結果字符串。用 strSource的首字符覆蓋 strDestination 的結尾空字符。當字符串被拷貝或添加時不執行上溢出檢測。如果源和目的字符串重疊, strcat 的行為是不確定的。

返回值:返回目的字符串。

6-2 函數名: strchr

函數原型: char*strchr(constchar*string, int c);

參數: string 以空字符結尾的源字符串口要查找的字符。

所需頭文件: <cstring>

功能: 查找 string 中 c 的第一次出現,在查找中包括結尾的空字符。

返回值: 返回 string 中第一次出現的指針;如果 c 未找到,則返回 NULl。

6-3 函數名: strcmp

函數原型: int strcmp(const char*string1, constchar*string2)

參數: stringl, string2被比較的以空字符結尾的字符串。

所需頭文件: <cstring>

功能:按詞典順序比較 string1 和 string2,並返回一個值指出它們之間的關係。

返回值:返回值<0, stringl 小於 string2;返回值=0, stringl 等於 string2;返回值〉 0, string1大於 string2。

6-4 函數名: strcpy

函數原型: char*strcpy(char*strDestination, constcha*strSource)

參數: strDestination 目的字符串;strSource 以空字符結尾的源字符串。

所需頭文件; <cstring>

功能:把源字符串 strSource(包括結尾的空字符)拷貝到 strDestination 所指的位置。在字符串被拷貝或添加時不執行上溢出檢測。如果源和目的字符串重疊, strcpy 的行為是不確定的。

返回值: 返回目的字符串,沒有用於指出錯誤的返回值

6-5 函數名: stricmp

函數原型: int stricmp(const char*string1, const char *string2);

參數: string1, string2要比較的以空字符結尾的字符串。

所需頭文件: <cstring>

功能: 忽略大小寫來比較兩個字符串。 _strlcmp 函數以詞典次序比較 stringl 和 string2的小寫版本,並返回一個值指出它們之間的關係。

返回值: 返回值<0, string1 小於 string2;返回值=0, string1 等於 string2;返回值>0, string1大於 string2。

6-6 函數名: strlen

函數原型: sizet strlen(const char*string);

參數: string 以空字符結尾的字符串。

所需頭文件: <cstring>

功能和返回值: 返回 string 中的字符個數,不包括尾部 NULL。沒有指出錯誤的返回值。

6-7 函數名: strlwr

函數原型: char* strlwr(char *string);

參數: string 需要轉換成小寫的以空字符結尾的字符串。

所需頭文件: <cstring>

功能: 將 string 中的任何大寫字母轉換成小寫,其它字符不受影響。

返回值:返回轉換後的字符串的指針。因為不修改位置的指針相同。沒有返回值指出錯誤。

6-8 函數名: strncmp

函數原型: int strncmp(constchar*stringl, constchar*string2, size_t count)

參數: stringl, string2比較的字符串; count 比較的字符的個數。

所需頭文件: <cstring>

功能: 按詞典順序比較 stringl 和 string2的前 count 個字符,並返回一個值指出串之間的關係。大小寫敏感。

返回值: <0, stringl 串小於 string2串。 =0, stringl 串等於 string2串 >0, stringl 大於 string2串。

6-9 函數名: strncpy

函數原型: char*strncpy(char*strDest, const char*strSource, size_t count)

參數: strDest 目的字符串; strSource 源字符串; count 拷貝的字符個數。

所需頭文件: <cstring>

功能:將 strSource 的前 count 個字符拷貝到 strDest 中並返回 strDest。如果 count 小於或等於 strSource 的長度,空字符不自動添加到拷貝的字符串中。如果 count 大於 strSource的長度,目的字符串用空字符填充直到 count 的長度。如果源和目的字符串重疊,則 strncpy的行為是不確定的。

返回值: 返回 strDest。沒有返回值則表明出錯。

6-10 函數名: _strnset

函數原型: char *_strnset(char*string, int c, size_t count);

參數: string 需要改變的字符串; c 設置字符; count 設置的字符個數

所需頭文件: <string>

功能: 將 string 的前 count 個字符設置為 c(轉換為 char)。如果 count 大於 string 的長度,用string 的長度代替 count。

返回值: 返回一個改變後的字符串的指針。

6-11 函數名:strrev

函數原型: char *strrev(char *string);

參數: string 要逆轉的以空字符結尾的字符串。

所需頭文件: <cstring>

功能:將 string 中字符反序排列。結尾的空字符保留在原位置。

返回值:返回改變後的字符串的指針。沒有返回值則說明出錯。

6-12 函數名: strstr

函數原型: char*strstr(constchar*string, constchar*strCharSet);

參數: string 要在其中進行查找的以空字符結尾的字符串;strCharSet 要查找的以空字符結尾的字符串。

所需頭文件: <cstring>

功能和返回值: 返回 strCharSet 在 string 中第一次出現的起始地址,如果 strCharSet 不在string 中出現,則返回 NULL。


分享到:


相關文章: