C語言函數(shù)ex開頭,ex函數(shù)是什么函數(shù)

c語言中數(shù)e怎么表示

C語言中數(shù)e(指數(shù)e)可以用exp( )函數(shù)表示。

北關(guān)網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司

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

功 ? ? ?能:計(jì)算e^x的值

返 回 值:計(jì)算結(jié)果

舉例:

double?x=1.5,?y;

y?=?exp(x);?????//?y的值就是e^1.5

注:使用exp函數(shù)時(shí),需要將頭文件#includemath.h添加進(jìn)源文件中。

ex在c語言中怎么表示

C語言exp()函數(shù):e的次冪函數(shù)(以e為底的x次方值)頭文件: #include exp()用來計(jì)算以e 為底的x 次方值,即ex?值,然后將結(jié)果返回。

c語言_beginthreadex()函數(shù)不會(huì)用,求實(shí)例,純c實(shí)現(xiàn)的,謝謝

//sipvoiplink.h

class?SIPVoIPLink

{

private:

static?unsigned?__stdcall?ReceivingThrd(void?*?pParam);

}

//sipvoiplink.cpp

#include?Winsock2.h

#include?process.h

bool?SIPVoIPLink::init()

{

......

HANDLE?hThread;

unsigned?threadID;

hThread?=?(HANDLE)_beginthreadex(?NULL,?0,?SIPVoIPLink::ReceivingThrd,?(LPVOID)this,?0,?threadID?);

if(hThread?==?NULL)

return?false;

}

unsigned?__stdcall?SIPVoIPLink::ReceivingThrd(void?*?pParam)

{

//getEvent();

((SIPVoIPLink?*)pParam)-getEvent();

return?0;

}

一個(gè)線程的好例子:

引申閱讀:

關(guān)于_beginthreadex和CreateThread的區(qū)別

在?Win32?API?中,創(chuàng)建線程的基本函數(shù)是?CreateThread,而?_beginthread(ex)?是

C++?運(yùn)行庫的函數(shù)。為什么要有兩個(gè)呢?因?yàn)镃++?運(yùn)行庫里面有一些函數(shù)使用了全局

量,如果使用?CreateThread?的情況下使用這些C++?運(yùn)行庫的函數(shù),就會(huì)出現(xiàn)不安全

的問題。而?_beginthreadex?為這些全局變量做了處理,使得每個(gè)線程都有一份獨(dú)立

的“全局”量。

所以,如果你的編程只調(diào)用?Win32?API/SDK?,就放心用?CreateThread;如果要用到

C++?運(yùn)行時(shí)間庫,那么就要使用?_beginthreadex?,并且需要在編譯環(huán)境中選擇?Use

MultiThread?Lib/DLL。

C++?運(yùn)行期庫有兩個(gè)創(chuàng)建線程的函數(shù),另一個(gè)是?_beginthread,?它們兩者的區(qū)別請(qǐng)

自己去看MSDN:

通常他們的解釋都是這容易造成內(nèi)存泄漏。這個(gè)解釋本身是沒有錯(cuò)的,但是解釋得不夠完全和詳?細(xì)。以至于造成很多新手盲目的信任了那句話,在那里都是用_beginthreadex函數(shù),或者是裝作沒有看到使用CreateThread函數(shù)。曾經(jīng)?有一段時(shí)間我也對(duì)這個(gè)問題很是困惑,不知道到底用那個(gè)才是對(duì)的。因?yàn)槲也恢挂淮卧诤芏鄼?quán)威性的代碼中看到對(duì)CreateThread函數(shù)的直接調(diào)用。難道?是權(quán)威錯(cuò)了???抱著懷疑的態(tài)度查找了大量的資料和書籍,終于搞明白了這個(gè)問題的關(guān)鍵所在,在此做個(gè)說明,算是對(duì)那句話的一個(gè)完善。

關(guān)于_beginthreadex和CreateThread的區(qū)別我就不做說明了,這個(gè)很?容易找到的。我們只要知道一個(gè)問題:_beginthreadex是一個(gè)C運(yùn)行時(shí)庫的函數(shù),CreateThread是一個(gè)系統(tǒng)API函?數(shù),_beginthreadex內(nèi)部調(diào)用了CreateThread。只所以所有的書都強(qiáng)調(diào)內(nèi)存泄漏的問題是因?yàn)開beginthreadex函數(shù)在創(chuàng)?建線程的時(shí)候分配了一個(gè)堆結(jié)構(gòu)并和線程本身關(guān)聯(lián)起來,我們把這個(gè)結(jié)構(gòu)叫做tiddata結(jié)構(gòu),是通過線程本地存儲(chǔ)器TLS于線程本身關(guān)聯(lián)起來。我們傳入的?線程入口函數(shù)就保存在這個(gè)結(jié)構(gòu)中。tiddata的作用除了保存線程函數(shù)入口地址之外,還有一個(gè)重要的作用就是:C運(yùn)行時(shí)庫中有些函數(shù)需要通過這個(gè)結(jié)構(gòu)來?保存和獲取一些數(shù)據(jù),比如說errno之類的線程全局變量。這點(diǎn)才是最重要的。

當(dāng)一個(gè)線程調(diào)用一個(gè)要求tiddata結(jié)構(gòu)的運(yùn)行時(shí)庫函數(shù)的時(shí)候,將發(fā)生下面的情況:

運(yùn)行時(shí)庫函數(shù)試圖TlsGetv alue獲取線程數(shù)據(jù)塊的地址,如果沒有獲取到,函數(shù)就會(huì)?現(xiàn)場(chǎng)分配一個(gè)?tiddata結(jié)構(gòu),并且和線程相關(guān)聯(lián),于是問題出現(xiàn)了,如果不通過_endthreadex函數(shù)來終結(jié)線程的話,這個(gè)結(jié)構(gòu)將不會(huì)被撤銷,內(nèi)存泄漏就會(huì)出?現(xiàn)了。但通常情況下,我們都不推薦使用_endthreadex函數(shù)來結(jié)束線程,因?yàn)槔锩姘薊xitThread調(diào)用。

找到了內(nèi)存泄漏的具體原因,我們可以這樣說:只要在創(chuàng)建的線程里面不使用一些要求tiddata結(jié)構(gòu)的運(yùn)行時(shí)庫函數(shù),我們的內(nèi)存時(shí)安全的。所以,前面說的那句話應(yīng)該這樣說才完善:

“絕對(duì)不要調(diào)用系統(tǒng)自帶的CreateThread函數(shù)創(chuàng)建新的線程,而應(yīng)該使用_beginthreadex,除非你在線程中絕不使用需要tiddata結(jié)構(gòu)的運(yùn)行時(shí)庫函數(shù)”

這個(gè)需要tiddata結(jié)構(gòu)的函數(shù)有點(diǎn)麻煩了,在侯捷的《win32多線程程序設(shè)計(jì)》一書中這樣說到:

”如果在除主線程之外的任何線程中進(jìn)行一下操作,你就應(yīng)該使用多線程版本的C?runtime?library,并使用_beginthreadex和_endthreadex:

1?使用malloc()和free(),或是new和delete

2?使用stdio.h或io.h里面聲明的任何函數(shù)

3?使用浮點(diǎn)變量或浮點(diǎn)運(yùn)算函數(shù)

4?調(diào)用任何一個(gè)使用了靜態(tài)緩沖區(qū)的runtime函數(shù),比如:asctime(),strtok()或rand()

在C語言中有那些函數(shù)名?

想必你說的是C語言內(nèi)置的標(biāo)準(zhǔn)函數(shù)庫了

給你貼一下吧

想查閱更詳細(xì)信息可以到

下載到

分類函數(shù),所在函數(shù)庫為ctype.h

int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否則返回0

int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或數(shù)字('0'-'9'),返回非0值,否則返回0

int isascii(int ch) 若ch是字符(ASCII碼中的0-127)返回非0值,否則返回0

int iscntrl(int ch) 若ch是作廢字符(0x7F)或普通控制字符(0x00-0x1F),返回非0值,否則返回0

int isdigit(int ch) 若ch是數(shù)字('0'-'9')返回非0值,否則返回0

int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否則返回0

int islower(int ch) 若ch是小寫字母('a'-'z')返回非0值,否則返回0

int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否則返回0

int ispunct(int ch) 若ch是標(biāo)點(diǎn)字符(0x00-0x1F)返回非0值,否則返回0

int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回車符('\r'), 走紙換行('\f'),垂直制表符('\v'),換行符('\n'), 返回非0值,否則返回0

int isupper(int ch) 若ch是大寫字母('A'-'Z')返回非0值,否則返回0

int isxdigit(int ch) 若ch是16進(jìn)制數(shù)('0'-'9','A'-'F','a'-'f')返回非0值, 否則返回0

int tolower(int ch) 若ch是大寫字母('A'-'Z')返回相應(yīng)的小寫字母('a'-'z')

int toupper(int ch) 若ch是小寫字母('a'-'z')返回相應(yīng)的大寫字母('A'-'Z')

數(shù)學(xué)函數(shù),所在函數(shù)庫為math.h、stdlib.h、string.h、float.h

int abs(int i) 返回整型參數(shù)i的絕對(duì)值

double cabs(struct complex znum) 返回復(fù)數(shù)znum的絕對(duì)值

double fabs(double x) 返回雙精度參數(shù)x的絕對(duì)值

long labs(long n) 返回長(zhǎng)整型參數(shù)n的絕對(duì)值

double exp(double x) 返回指數(shù)函數(shù)ex的值

double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存貯在eptr中

double ldexp(double value,int exp); 返回value*2exp的值

double log(double x) 返回logex的值

double log10(double x) 返回log10x的值

double pow(double x,double y) 返回xy的值

double pow10(int p) 返回10p的值

double sqrt(double x) 返回x的開方

double acos(double x) 返回x的反余弦cos-1(x)值,x為弧度

double asin(double x) 返回x的反正弦sin-1(x)值,x為弧度

double atan(double x) 返回x的反正切tan-1(x)值,x為弧度

double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x為弧度

double cos(double x) 返回x的余弦cos(x)值,x為弧度

double sin(double x) 返回x的正弦sin(x)值,x為弧度

double tan(double x) 返回x的正切tan(x)值,x為弧度

double cosh(double x) 返回x的雙曲余弦cosh(x)值,x為弧度

double sinh(double x) 返回x的雙曲正弦sinh(x)值,x為弧度

double tanh(double x) 返回x的雙曲正切tanh(x)值,x為弧度

double hypot(double x,double y) 返回直角三角形斜邊的長(zhǎng)度(z), x和y為直角邊的長(zhǎng)度,z2=x2+y2

double ceil(double x) 返回不小于x的最小整數(shù)

double floor(double x) 返回不大于x的最大整數(shù)

void srand(unsigned seed) 初始化隨機(jī)數(shù)發(fā)生器

int rand() 產(chǎn)生一個(gè)隨機(jī)數(shù)并返回這個(gè)數(shù)

double poly(double x,int n,double c[]) 從參數(shù)產(chǎn)生一個(gè)多項(xiàng)式

double modf(double value,double *iptr) 將雙精度數(shù)value分解成尾數(shù)和階

double fmod(double x,double y) 返回x/y的余數(shù)

double frexp(double value,int *eptr) 將雙精度數(shù)value分成尾數(shù)和階

double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成浮點(diǎn)數(shù)并返回這個(gè)浮點(diǎn)數(shù)

double atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整數(shù)并返回這個(gè)整數(shù)

double atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長(zhǎng)整數(shù)并返回這個(gè)整數(shù)

char *ecvt(double value,int ndigit,int *decpt,int *sign)

將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串

char *fcvt(double value,int ndigit,int *decpt,int *sign)

將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串

char *gcvt(double value,int ndigit,char *buf)

將數(shù)value轉(zhuǎn)換成字符串并存于buf中,并返回buf的指針

char *ultoa(unsigned long value,char *string,int radix)

將無符號(hào)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)

char *ltoa(long value,char *string,int radix)

將長(zhǎng)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)

char *itoa(int value,char *string,int radix)

將整數(shù)value轉(zhuǎn)換成字符串存入string,radix為轉(zhuǎn)換時(shí)所用基數(shù)

double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0

int atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整型數(shù), 并返回這個(gè)數(shù),錯(cuò)誤返回0

long atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長(zhǎng)整型數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0

double strtod(char *str,char **endptr)將字符串str轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),

long strtol(char *str,char **endptr,int base)將字符串str轉(zhuǎn)換成長(zhǎng)整型數(shù), 并返回這個(gè)數(shù),

int matherr(struct exception *e) 用戶修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒有必要使用)

double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)

用戶修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒有必要使用)

unsigned int _clear87() 清除浮點(diǎn)狀態(tài)字并返回原來的浮點(diǎn)狀態(tài)

void _fpreset() 重新初使化浮點(diǎn)數(shù)學(xué)程序包

unsigned int _status87() 返回浮點(diǎn)狀態(tài)字

目錄函數(shù),所在函數(shù)庫為dir.h、dos.h

int chdir(char *path) 使指定的目錄path(如:"C:\\WPS")變成當(dāng)前的工作目錄,成功返回0

int findfirst(char *pathname,struct ffblk *ffblk,int attrib)

查找指定的文件,成功返回0

pathname為指定的目錄名和文件名,如"C:\\WPS\\TXT"

ffblk為指定的保存文件信息的一個(gè)結(jié)構(gòu),定義如下:

┏━━━━━━━━━━━━━━━━━━┓

┃struct ffblk ┃

┃{ ┃

┃ char ff_reserved[21]; /*DOS保留字*/┃

┃ char ff_attrib; /*文件屬性*/ ┃

┃ int ff_ftime; /*文件時(shí)間*/ ┃

┃ int ff_fdate; /*文件日期*/ ┃

┃ long ff_fsize; /*文件長(zhǎng)度*/ ┃

┃ char ff_name[13]; /*文件名*/ ┃

┃} ┃

┗━━━━━━━━━━━━━━━━━━┛

attrib為文件屬性,由以下字符代表

┏━━━━━━━━━┳━━━━━━━━┓

┃FA_RDONLY 只讀文件┃FA_LABEL 卷標(biāo)號(hào)┃

┃FA_HIDDEN 隱藏文件┃FA_DIREC 目錄 ┃

┃FA_SYSTEM 系統(tǒng)文件┃FA_ARCH 檔案 ┃

┗━━━━━━━━━┻━━━━━━━━┛

例:

struct ffblk ff;

findfirst("*.wps",ff,FA_RDONLY);

int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0

void fumerge(char *path,char *drive,char *dir,char *name,char *ext)

此函數(shù)通過盤符drive(C:、A:等), 路徑dir(\TC、\BC\LIB等), 文件名name(TC、WPS等),擴(kuò)展名ext(.EXE、.COM等)組成一個(gè)文件名存與path中.

int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)

此函數(shù)將文件名path分解成盤符drive(C:、A:等), 路徑dir(\TC、\BC\LIB等), 文件名name(TC、WPS等),擴(kuò)展名ext(.EXE、.COM等),并分別存入相應(yīng)的變量中.

int getcurdir(int drive,char *direc)

此函數(shù)返回指定驅(qū)動(dòng)器的當(dāng)前工作目錄名稱。成功返回0

drive 指定的驅(qū)動(dòng)器(0=當(dāng)前,1=A,2=B,3=C等)

direc 保存指定驅(qū)動(dòng)器當(dāng)前工作路徑的變量

char *getcwd(char *buf,iint n) 此函數(shù)取當(dāng)前工作目錄并存入buf中,直到n個(gè)字節(jié)長(zhǎng)為為止.錯(cuò)誤返回NULL

int getdisk() 取當(dāng)前正在使用的驅(qū)動(dòng)器,返回一個(gè)整數(shù)(0=A,1=B,2=C等)

int setdisk(int drive) 設(shè)置要使用的驅(qū)動(dòng)器drive(0=A,1=B,2=C等), 返回可使用驅(qū)動(dòng)器總數(shù)

int mkdir(char *pathname) 建立一個(gè)新的目錄pathname,成功返回0

int rmdir(char *pathname) 刪除一個(gè)目錄pathname,成功返回0

char *mktemp(char *template) 構(gòu)造一個(gè)當(dāng)前目錄上沒有的文件名并存于template中

char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路徑, 此函數(shù)使用DOS的PATH變量,未找到文件返回NULL

進(jìn)程函數(shù),所在函數(shù)庫為stdlib.h、process.h

void abort() 此函數(shù)通過調(diào)用具有出口代碼3的_exit寫一個(gè)終止信息于stderr,并異常終止程序。無返回值

int exec…裝入和運(yùn)行其它程序

int execl(char *pathname,char *arg0,char *arg1,…,char *argn,NULL)

int execle(char *pathname,char *arg0,char *arg1,…, char *argn,NULL,char *envp[])

int execlp(char *pathname,char *arg0,char *arg1,…,NULL)

int execlpe(char *pathname,char *arg0,char *arg1,…,NULL,char *envp[])

int execv(char *pathname,char *argv[])

int execve(char *pathname,char *argv[],char *envp[])

int execvp(char *pathname,char *argv[])

int execvpe(char *pathname,char *argv[],char *envp[])

exec函數(shù)族裝入并運(yùn)行程序pathname,并將參數(shù)arg0(arg1,arg2,argv[],envp[])傳遞給子程序,出錯(cuò)返回-1。

在exec函數(shù)族中,后綴l、v、p、e添加到exec后,所指定的函數(shù)將具有某種操作能力。

有后綴 p時(shí),函數(shù)可以利用DOS的PATH變量查找子程序文件。

l時(shí),函數(shù)中被傳遞的參數(shù)個(gè)數(shù)固定。

v時(shí),函數(shù)中被傳遞的參數(shù)個(gè)數(shù)不固定。

e時(shí),函數(shù)傳遞指定參數(shù)envp,允許改變子進(jìn)程的環(huán)境,

無后綴 e時(shí),子進(jìn)程使用當(dāng)前程序的環(huán)境。

void _exit(int status) 終止當(dāng)前程序,但不清理現(xiàn)場(chǎng)

void exit(int status) 終止當(dāng)前程序,關(guān)閉所有文件,寫緩沖區(qū)的輸出(等待輸出), 并調(diào)用任何寄存器的"出口函數(shù)",無返回值

int spawn…運(yùn)行子程序

int spawnl(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL)

int spawnle(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL,char *envp[])

int spawnlp(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL)

int spawnlpe(int mode,char *pathname,char *arg0,char *arg1,…, char *argn,NULL,char *envp[])

int spawnv(int mode,char *pathname,char *argv[])

int spawnve(int mode,char *pathname,char *argv[],char *envp[])

int spawnvp(int mode,char *pathname,char *argv[])

int spawnvpe(int mode,char *pathname,char *argv[],char *envp[])

spawn函數(shù)族在mode模式下運(yùn)行子程序pathname,并將參數(shù)arg0(arg1,arg2,argv[],envp[])傳遞給子程序.出錯(cuò)返回-1

mode為運(yùn)行模式:

mode為 P_WAIT 表示在子程序運(yùn)行完后返回本程序

P_NOWAIT 表示在子程序運(yùn)行時(shí)同時(shí)運(yùn)行本程序(不可用)

P_OVERLAY 表示在本程序退出后運(yùn)行子程序

在spawn函數(shù)族中,后綴l、v、p、e添加到spawn后,所指定的函數(shù)將具有某種操作能力

有后綴 p時(shí), 函數(shù)利用DOS的PATH查找子程序文件

l時(shí), 函數(shù)傳遞的參數(shù)個(gè)數(shù)固定.

v時(shí), 函數(shù)傳遞的參數(shù)個(gè)數(shù)不固定.

e時(shí), 指定參數(shù)envp可以傳遞給子程序,允許改變子程序運(yùn)行環(huán)境.

無后綴 e時(shí),子程序使用本程序的環(huán)境.

int system(char *command)

將MSDOS命令command傳遞給DOS執(zhí)行轉(zhuǎn)換子程序,函數(shù)庫為math.h、stdlib.h、ctype.h、float.h

char *ecvt(double value,int ndigit,int *decpt,int *sign)

將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串

char *fcvt(double value,int ndigit,int *decpt,int *sign)

將浮點(diǎn)數(shù)value轉(zhuǎn)換成字符串并返回該字符串

char *gcvt(double value,int ndigit,char *buf)

將數(shù)value轉(zhuǎn)換成字符串并存于buf中,并返回buf的指針

char *ultoa(unsigned long value,char *string,int radix)

將無符號(hào)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)

char *ltoa(long value,char *string,int radix)

將長(zhǎng)整型數(shù)value轉(zhuǎn)換成字符串并返回該字符串,radix為轉(zhuǎn)換時(shí)所用基數(shù)

char *itoa(int value,char *string,int radix)

將整數(shù)value轉(zhuǎn)換成字符串存入string,radix為轉(zhuǎn)換時(shí)所用基數(shù)

double atof(char *nptr) 將字符串nptr轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0

int atoi(char *nptr) 將字符串nptr轉(zhuǎn)換成整型數(shù), 并返回這個(gè)數(shù),錯(cuò)誤返回0

long atol(char *nptr) 將字符串nptr轉(zhuǎn)換成長(zhǎng)整型數(shù),并返回這個(gè)數(shù),錯(cuò)誤返回0

double strtod(char *str,char **endptr)

將字符串str轉(zhuǎn)換成雙精度數(shù),并返回這個(gè)數(shù),

long strtol(char *str,char **endptr,int base)

將字符串str轉(zhuǎn)換成長(zhǎng)整型數(shù), 并返回這個(gè)數(shù),

int toascii(int c) 返回c相應(yīng)的ASCII

int tolower(int ch) 若ch是大寫字母('A'-'Z')返回相應(yīng)的小寫字母('a'- 'z')

int _tolower(int ch) 返回ch相應(yīng)的小寫字母('a'-'z')

int toupper(int ch) 若ch是小寫字母('a'-'z')返回相應(yīng)的大寫字母('A'- 'Z')

int _toupper(int ch) 返回ch相應(yīng)的大寫字母('A'-'Z')

診斷函數(shù),所在函數(shù)庫為assert.h、math.h

void assert(int test) 一個(gè)擴(kuò)展成if語句那樣的宏,如果test測(cè)試失敗,就顯示一個(gè)信息并異常終止程序,無返回值

void perror(char *string) 本函數(shù)將顯示最近一次的錯(cuò)誤信息,格式如:字符串string:錯(cuò)誤信息

char *strerror(char *str) 本函數(shù)返回最近一次的錯(cuò)誤信息,格式如: 字符串str:錯(cuò)誤信息

int matherr(struct exception *e)

用戶修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒有必要使用)

double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)

用戶修改數(shù)學(xué)錯(cuò)誤返回信息函數(shù)(沒有必要使用)

輸入輸出子程序, 函數(shù)庫為io.h、conio.h、stat.h、dos.h、stdio.h、signal.h

int kbhit() 本函數(shù)返回最近所敲的按鍵

int fgetchar() 從控制臺(tái)(鍵盤)讀一個(gè)字符,顯示在屏幕上

int getch() 從控制臺(tái)(鍵盤)讀一個(gè)字符,不顯示在屏幕上

int putch() 向控制臺(tái)(鍵盤)寫一個(gè)字符

int getchar() 從控制臺(tái)(鍵盤)讀一個(gè)字符,顯示在屏幕上

int putchar() 向控制臺(tái)(鍵盤)寫一個(gè)字符

int getche() 從控制臺(tái)(鍵盤)讀一個(gè)字符,顯示在屏幕上

int ungetch(int c) 把字符c退回給控制臺(tái)(鍵盤)

char *cgets(char *string) 從控制臺(tái)(鍵盤)讀入字符串存于string中

int scanf(char *format[,argument…])

從控制臺(tái)讀入一個(gè)字符串,分別對(duì)各個(gè)參數(shù)進(jìn)行賦值,使用BIOS進(jìn)行輸出

int vscanf(char *format,Valist param)

從控制臺(tái)讀入一個(gè)字符串,分別對(duì)各個(gè)參數(shù)進(jìn)行賦值,使用BIOS進(jìn)行輸出,參數(shù)從Valist param中取得

int cscanf(char *format[,argument…])

從控制臺(tái)讀入一個(gè)字符串,分別對(duì)各個(gè)參數(shù)進(jìn)行賦值,直接對(duì)控制臺(tái)作操作,比如顯示器在顯示時(shí)字符時(shí)即為直接寫頻方式顯示

int sscanf(char *string,char *format[,argument,…])

通過字符串string, 分別對(duì)各個(gè)參數(shù)進(jìn)行賦值

int vsscanf(char *string,char *format,Vlist param)

通過字符串string,分別對(duì)各個(gè)參數(shù)進(jìn)行賦值,參數(shù)從Vlist param中取得

int puts(char *string) 發(fā)關(guān)一個(gè)字符串string給控制臺(tái)(顯示器), 使用BIOS進(jìn)行輸出

void cputs(char *string) 發(fā)送一個(gè)字符串string給控制臺(tái)(顯示器), 直接對(duì)控制臺(tái)作操作,比如顯示器即為直接寫頻方式顯示

int printf(char *format[,argument,…])

發(fā)送格式化字符串輸出給控制臺(tái)(顯示器),使用BIOS進(jìn)行輸出

int vprintf(char *format,Valist param)

發(fā)送格式化字符串輸出給控制臺(tái)(顯示器),使用BIOS進(jìn)行輸出,參數(shù)從Valist param中取得

int cprintf(char *format[,argument,…])

發(fā)送格式化字符串輸出給控制臺(tái)(顯示器), 直接對(duì)控制臺(tái)作操作,比如顯示器即為直接寫頻方式顯示

int vcprintf(char *format,Valist param)

發(fā)送格式化字符串輸出給控制臺(tái)(顯示器), 直接對(duì)控制臺(tái)作操作,比如顯示器即為直接寫頻方式顯示, 參數(shù)從Valist param中取得

int sprintf(char *string,char *format[,argument,…])

將字符串string的內(nèi)容重新寫為格式化后的字符串

int vsprintf(char *string,char *format,Valist param)

將字符串string的內(nèi)容重新寫為格式化后的字符串,參數(shù)從Valist param中取得

int rename(char *oldname,char *newname)將文件oldname的名稱改為newname

int ioctl(int handle,int cmd[,int *argdx,int argcx])

本函數(shù)是用來控制輸入/輸出設(shè)備的,請(qǐng)見下表:

┌———┬————————————————————————————┐

│cmd值 │功能 │

├———┼————————————————————————————┤

│ 0 │取出設(shè)備信息 │

│ 1 │設(shè)置設(shè)備信息 │

│ 2 │把a(bǔ)rgcx字節(jié)讀入由argdx所指的地址 │

│ 3 │在argdx所指的地址寫argcx字節(jié) │

│ 4 │除把handle當(dāng)作設(shè)備號(hào)(0=當(dāng)前,1=A,等)之外,均和cmd=2時(shí)一樣 │

│ 5 │除把handle當(dāng)作設(shè)備號(hào)(0=當(dāng)前,1=A,等)之外,均和cmd=3時(shí)一樣 │

│ 6 │取輸入狀態(tài) │

│ 7 │取輸出狀態(tài) │

│ 8 │測(cè)試可換性;只對(duì)于DOS 3.x │

│ 11 │置分享沖突的重算計(jì)數(shù);只對(duì)DOS 3.x │

└———┴————————————————————————————┘

int (*ssignal(int sig,int(*action)())() 執(zhí)行軟件信號(hào)(沒必要使用)

int gsignal(int sig) 執(zhí)行軟件信號(hào)(沒必要使用)

int _open(char *pathname,int access)為讀或?qū)懘蜷_一個(gè)文件, 按后按access來確定是讀文件還是寫文件,access值見下表

┌——————┬————————————————————┐

│access值 │意義 │

├——————┼————————————————————┤

│O_RDONLY │讀文件 │

│O_WRONLY │寫文件 │

│O_RDWR │即讀也寫 │

│O_NOINHERIT │若文件沒有傳遞給子程序,則被包含 │

│O_DENYALL │只允許當(dāng)前處理必須存取的文件 │

│O_DENYWRITE │只允許從任何其它打開的文件讀 │

│O_DENYREAD │只允許從任何其它打開的文件寫 │

│O_DENYNONE │允許其它共享打開的文件 │

└——————┴————————————————————┘

int open(char *pathname,int access[,int permiss])為讀或?qū)懘蜷_一個(gè)文件, 按后按access來確定是讀文件還是寫文件,access值見下表

┌————┬————————————————————┐

│access值│意義 │

├————┼————————————————————┤

│O_RDONLY│讀文件 │

│O_WRONLY│寫文件 │

│O_RDWR │即讀也寫 │

│O_NDELAY│沒有使用;對(duì)UNIX系統(tǒng)兼容 │

│O_APPEND│即讀也寫,但每次寫總是在文件尾添加 │

│O_CREAT │若文件存在,此標(biāo)志無用;若不存在,建新文件 │

│O_TRUNC │若文件存在,則長(zhǎng)度被截為0,屬性不變 │

│O_EXCL │未用;對(duì)UNIX系統(tǒng)兼容 │

│O_BINARY│此標(biāo)志可顯示地給出以二進(jìn)制方式打開文件 │

│O_TEXT │此標(biāo)志可用于顯示地給出以文本方式打開文件│

└————┴————————————————————┘

permiss為文件屬性,可為以下值:

S_IWRITE允許寫 S_IREAD允許讀 S_IREAD|S_IWRITE允許讀、寫

int creat(char *filename,int permiss) 建立一個(gè)新文件filename,并設(shè)定讀寫性。

permiss為文件讀寫性,可以為以下值

S_IWRITE允許寫 S_IREAD允許讀 S_IREAD|S_IWRITE允許讀、寫

int _creat(char *filename,int attrib) 建立一個(gè)新文件filename,并設(shè)定文件屬性。

attrib為文件屬性,可以為以下值

FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統(tǒng)

int creatnew(char *filenamt,int attrib) 建立一個(gè)新文件filename,并設(shè)定文件屬性。

attrib為文件屬性,可以為以下值

FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統(tǒng)

int creattemp(char *filenamt,int attrib) 建立一個(gè)新文件filename,并設(shè)定文件屬性。

attrib為文件屬性,可以為以下值

FA_RDONLY只讀 FA_HIDDEN隱藏 FA_SYSTEM系統(tǒng)

int read(int handle,void *buf,int nbyte) 從文件號(hào)為handle的文件中讀nbyte個(gè)字符存入buf中

int _read(int handle,void *buf,int nbyte) 從文件號(hào)為handle的文件中讀nbyte個(gè)字符存入buf中,直接調(diào)用MSDOS進(jìn)行操作.

int write(int handle,void *buf,int nbyte) 將buf中的nbyte個(gè)字符寫入文件號(hào)為handle的文件中

int _write(int handle,void *buf,int nbyte) 將buf中的nbyte個(gè)字符寫入文件號(hào)為handle的文件中

int dup(int handle) 復(fù)制一個(gè)文件處理指針handle,返回這個(gè)指針

int dup2(int handle,int newhandle) 復(fù)制一個(gè)文件處理指針handle到newhandle

int eof(int *handle) 檢查文件是否結(jié)束,結(jié)束返回1,否則返回0

long filelength(int handle) 返回文件長(zhǎng)度,handle為文件號(hào)

int setmode(int handle,unsigned mode)本函數(shù)用來設(shè)定文件號(hào)為handle的文件的打開方式

int getftime(int handle,struct ftime *ftime)

讀取文件號(hào)為handle的文件的時(shí)間,并將文件時(shí)間存于ftime結(jié)構(gòu)中,成功返回0, ftime結(jié)構(gòu)如下:

┌—————————————————┐

│struct ftime │

│{ │

│ unsigned ft_tsec:5; /*秒*/ │

│ unsigned ft_min:6; /*分*/ │

│ unsigned ft_hour:5; /*時(shí)*/ │

│ unsigned ft_day:5; /*日*/ │

│ unsigned ft_month:4;/*月*/ │

│ unsigned ft_year:1; /*年-1980*/ │

│} │

└—————————————————┘

int setftime(int handle,struct ftime *ftime) 重寫文件號(hào)為handle的文件時(shí)間,

新時(shí)間在結(jié)構(gòu)ftime中.成功返回0.結(jié)構(gòu)ftime如下:

┌—————————————————┐

│struct ftime │

│{ │

│ unsigned ft_tsec:5; /*秒*/ │

│ unsigned ft_min:6; /*分*/ │

│ unsigned ft_hour:5; /*時(shí)*/ │

│ unsigned ft_day:5; /*日*/ │

│ unsigned ft_month:4;/*月*/ │

│ unsigned ft_year:1; /*年-1980*/ │

│} │

└—————————————————┘

long lseek(int handle,long offset,int fromwhere)

本函數(shù)將文件號(hào)為handle的文件的指針移到fromwhere后的第offset個(gè)字節(jié)處.

SEEK_SET文件開關(guān) SEEK_CUR當(dāng)前位置 SEEK_END文件尾

long tell(int handle) 本函數(shù)返回文件號(hào)為handle的文件指針,以字節(jié)表示

int isatty(int handle)本函數(shù)用來取設(shè)備handle的類型

int lock(int handle,long offset,long length) 對(duì)文件共享作封鎖

int unlock(int handle,long offset,long length) 打開對(duì)文件共享的封鎖

int close(int handle) 關(guān)閉handle所表示的文件處理,handle是從_creat、creat、

creatnew、creattemp、dup、dup2、_open、open中的一個(gè)處調(diào)用獲得的文件處理

成功返回0否則返回-1,可用于UNIX系統(tǒng)

int _close(int handle) 關(guān)閉handle所表示的文件處理,handle是從_creat、creat、

creatnew、creattemp、dup、dup2、_open、open中的一個(gè)處調(diào)用獲得的文件處理

成功返回0否則返回-1,只能用于MSDOS系統(tǒng)

FILE *fopen(char *filename,char *type) 打開一個(gè)文件filename,打開方式為type,

并返回這個(gè)文件指針,type可為以下字符串加上后綴

┌——┬————┬———————┬————————┐

│type│讀寫性 │文本/2進(jìn)制文件│建新/打開舊文件 │

├——┼————┼———————┼————————┤

│r │讀 │文本 │打開舊的文件 │

│w │寫 │文本 │建新文件 │

│a │添加 │文本 │有就打開無則建新│

│r+ │讀/寫 │不限制 │打開 │

│w+ │讀/寫 │不限制 │建新文件 │

│a+ │讀/添加 │不限制 │有就打開無則建新│

└——┴————┴———————┴————————┘

可加的后綴為t、b。加b表示文件以二進(jìn)制形式進(jìn)行操作,t沒必要使用

例: ┌——————————————————┐

│#includestdio.h │

│main() │

│{ │

│ FILE *fp; │

│ fp=fopen("C:\\WPS\\WPS.EXE","r+b");│

└——————————————————┘

FILE *fdopen(int ahndle,char *type)

FILE *freopen(char *filename,char *type,FILE *stream)

int getc(FILE *stream) 從流stream中讀一個(gè)字符,并返回這個(gè)字符

int putc(int ch,FILE *stream) 向流stream寫入一個(gè)字符ch

int getw(FILE *stream) 從流stream讀入一個(gè)整數(shù),錯(cuò)誤返回EOF

int putw(int w,FILE *stream) 向流stream寫入一個(gè)整數(shù)

int ungetc(char c,FILE *stream) 把字符c退回給流stream,下一次讀進(jìn)的字符將是c

int fgetc(FILE *stream) 從流stream處讀一個(gè)字符,并返回這個(gè)字符

int fputc(int ch,FILE *stream) 將字符ch寫入

文章名稱:C語言函數(shù)ex開頭,ex函數(shù)是什么函數(shù)
網(wǎng)站鏈接:http://muchs.cn/article26/phjcjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)網(wǎng)站排名、商城網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)