<string.h> ——常用字符串處理函數(shù)
int strlen(const char* a) 字符串的長度
int strcmp(char* a,char* b) 比較字符串
int strncmp(char * a,char *b,int n) 比較字符串的前n個(gè)字符
int strcpy(char* a,char* b) 將b復(fù)制到a
int strncpy(char* a,char* b,int n) 將b的前n個(gè)字符復(fù)制到a
int strcat(char* a,char* b) 將b連接到a后面。
int strncat(char* a,char* b,int n) 將b的前n個(gè)字符連接到a后面。
char* strstr(const char* a,const char* b) 在a中尋找第一次出現(xiàn)b的位置
char* strupr(char* a) 將a中所有字母轉(zhuǎn)為大寫。
char* strlwr(char* a) 將a中所有字母轉(zhuǎn)為小寫。
char* strset(char* a,char x) 將a中所有元素替換為x。
char* strnset(char* a,char x,int n) 將a中前n個(gè)元素替換為x。
char* strrev(char* a) 使a反轉(zhuǎn)
void * memset(void * buffer,int c,size_t num) 用字符c填充buffer指定的num字節(jié)存儲(chǔ)區(qū)域。
void* memcpy(void *dest, const void *src, size_t n)
void* memmove(void *dest, const void *src, size_t n) memcpy用于內(nèi)存區(qū)域復(fù)制,但不考慮區(qū)域重疊的情況,就是說,如果源區(qū)域與目標(biāo)區(qū)域重疊,結(jié)果可能跟預(yù)想不同,相對(duì)應(yīng)地,memmove考慮區(qū)域重疊,所以memmove可能慢一些
stdlib.h頭文件下的一些函數(shù)
atof()將字符串轉(zhuǎn)換成浮點(diǎn)數(shù)的函數(shù)
原形:double atof(const char *s)
功能:把s所指向的字符串轉(zhuǎn)換成double類型。
s格式為:符號(hào) 數(shù)字.數(shù)字 E符號(hào) 數(shù)字
返回值:字符串的轉(zhuǎn)換值。
頭文件:math.h、stdlib.h
atoi()將字符串轉(zhuǎn)換成整型數(shù)的函數(shù)
原形:int atoi(const char *s)
功能:把s所指向的字符串轉(zhuǎn)換成int類型。
s格式為:符號(hào) 數(shù)字
返回值:字符串的轉(zhuǎn)換值。若出錯(cuò)則返回0。
頭文件:stdlib.h
atol()將字符串轉(zhuǎn)換成長整型數(shù)的函數(shù)
原形:long atol(const char *s)
功能:把s所指向的字符串轉(zhuǎn)換成long int類型。
s格式為:符號(hào) 數(shù)字
返回值:字符串的轉(zhuǎn)換值。若出錯(cuò)則返回0。
頭文件:stdlib.h
===================================================
calloc()分配內(nèi)存函數(shù)
原形:void *calloc(size_t nitems,size_t size)
功能:在堆中分配一塊內(nèi)存,將該內(nèi)存的內(nèi)容全部清0。
返回值:返回指向新分配內(nèi)存的指針??臻g不夠則返回NULL。
頭文件:stdlib.h、calloc.h
===================================================
free()釋放已分配內(nèi)存的函數(shù)
原形:void free(void *block)
功能:釋放由calloc、malloc、realloc函數(shù)調(diào)用所分配的內(nèi)存。
頭文件:stdlib.h、alloc.h
====================================================
gcvt()把雙精度數(shù)轉(zhuǎn)化成字符串的函數(shù)
原形∶char*gcvt(value,ndigit,buf)
其中∶double value是待轉(zhuǎn)化數(shù)
int ndigit是轉(zhuǎn)化長度
char *buf保存轉(zhuǎn)化后的地址
頭文件∶stdlib.h
====================================================
geninterrupt()執(zhí)行中斷函數(shù)
原形:void geninterrupt(int n)
調(diào)用方式:geninterrupt(軟中斷號(hào))
功能:產(chǎn)生一個(gè)8086軟中斷
注:需先向寄存器傳遞入口信息(用偽變量)
例如 偽變量=要賦的值(入口信息);
調(diào)用geninterrupt()函數(shù)后得接受出口信息
例如 變量名=偽變量
偽變量∶Turbo C 允許使用偽變量直接訪問相應(yīng)的8086寄存器。偽變量的類型有兩種。
?、?unsigned int : _AX、 _BX、 _CX、 _DX、 _CS、 _DS、 _SS、 _ES、_SP、 _BP、 _DI、 _SI
?、?unsigned char: _AL、 _AH、 _BL、 _BH、 _CL、 _CH、 _DL、 _DH
===================================================
getenv()讀取環(huán)境變量的當(dāng)前值的函數(shù)
原形:char *getenv(const char *name)
用法:s=getenv("環(huán)境變量名");
需先定義char *s;
功能:返回一給定的環(huán)境變量值,環(huán)境變量名可大寫或小寫。如果指定的變量在環(huán)境中未定義,則返回一空串。
頭文件:stdlib.h
====================================================
itoa()把整形數(shù)轉(zhuǎn)換為字符串的函數(shù)
原形:char *itoa(int value,char *string,int radix)
功能:把value的值轉(zhuǎn)換為以NULL結(jié)束的字符串,并把結(jié)果存在string中。radix是轉(zhuǎn)換的基數(shù)值,在2到36之間。分配給string的空間必須可容納返回的所有字節(jié)(最多17字節(jié))。
返回值:指向string的指針
頭文件:stdlib.h
========================================================
_lrotl()將一個(gè)無符號(hào)長整形數(shù)左循環(huán)移位的函數(shù)
原形:unsigned long _lrotl(unsigned long value,int count)
功能:將value向左循環(huán)移動(dòng)count位。
返回值:將value向左循環(huán)移動(dòng)count位后的值。
頭文件:stdlib.h
_lrotr()將一個(gè)無符號(hào)長整形數(shù)右循環(huán)移位的函數(shù)
原形:unsigned long _lrotr(unsigned long value,int count)
功能:將value向右循環(huán)移動(dòng)count位。
返回值:將value向右循環(huán)移動(dòng)count位后的值。
頭文件:stdlib.h
ltoa()把長整形數(shù)轉(zhuǎn)換為字符串的函數(shù)
原形:char *ltoa(long value,char *string,int radix)
功能:把value的值轉(zhuǎn)換為以NULL結(jié)束的字符串,并把結(jié)果存在string中。radix是轉(zhuǎn)換的基數(shù)值,在2到36之間。分配給string的空間必須可容納返回的所有字節(jié)(最多33字節(jié))。
返回值:指向string的指針
頭文件:stdlib.h
malloc()分配內(nèi)存函數(shù)
原形:void *malloc(size_t size)
功能:從堆中分配大小為size字節(jié)的塊。win32也適用。
返回值:返回新分配內(nèi)存的地址,若無足夠內(nèi)存,返回NULL。
頭文件:alloc.h、stdlib.h
============================================================
putenv()將字符串放入當(dāng)前環(huán)境中的函數(shù)
原形:int putenv(const char *name)
用法例:putenv("PATH=C:\B\TC");
功能:把字符串name加到當(dāng)前程序運(yùn)行的環(huán)境中。當(dāng)程序結(jié)束后,原環(huán)境將得到恢復(fù)。
返回值:0(成功);-1(失敗)
頭文件:stdlib.h
============================================================
realloc()重新分配內(nèi)存函數(shù)
原形:void *realloc(void *block,size_t size)
block指向用malloc、calloc或realloc已得到的內(nèi)存。
size是重新分配的字節(jié)。
返回值:重分配的塊地址。若不能重分配,則返回NULL。
頭文件:stdlib.h
=============================================================
_rotl()將一個(gè)無符號(hào)整形數(shù)左循環(huán)移位的函數(shù)
原形:unsigned _rotl(unsigned value,int count)
功能:將value向左循環(huán)移動(dòng)count位。
返回值:將value向左循環(huán)移動(dòng)count位后的值。
頭文件:stdlib.h
=============================================================
_rotr()將一個(gè)無符號(hào)整形數(shù)右循環(huán)移位的函數(shù)
原形:unsigned _rotr(unsigned value,int count)
功能:將value向右循環(huán)移動(dòng)count位。
返回值:將value向右循環(huán)移動(dòng)count位后的值。
頭文件:stdlib.h
=============================================================