欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語言信號(hào)處理函數(shù)庫 c語言信號(hào)量例子

c語言有多少庫函數(shù)

在C89標(biāo)準(zhǔn)中:

創(chuàng)新互聯(lián)建站主營(yíng)天峻網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件定制開發(fā),天峻h5微信平臺(tái)小程序開發(fā)搭建,天峻網(wǎng)站營(yíng)銷推廣歡迎天峻等地區(qū)企業(yè)咨詢

文件 簡(jiǎn)介說明

assert.h 斷言相關(guān)

ctype.h 字符類型判斷

errno.h 標(biāo)準(zhǔn)報(bào)錯(cuò)機(jī)制

float.h 浮點(diǎn)運(yùn)算

limits.h 各種體系結(jié)構(gòu)限制

locale.h 本地化接口

math.h 數(shù)學(xué)函數(shù)

setjmp.h 跨函數(shù)跳轉(zhuǎn)

signal.h 信號(hào)(類似UNIX的信號(hào)定義,但是差很遠(yuǎn))

stdarg.h 可變參處理

stddef.h 一些標(biāo)準(zhǔn)宏定義

stdio.h 標(biāo)準(zhǔn)I/O庫

stdlib.h 標(biāo)準(zhǔn)工具庫函數(shù)

string.h ASCIIZ字符串及任意內(nèi)存處理函數(shù)

time.h 時(shí)間相關(guān)

在95年的修正版中

iso646.h

wchar.h

wctype.h

在C99中增加了六個(gè)函數(shù)庫

complex.h

fenv.h

inttypes.h

stdbool.h

stdint.h

tgmath.h

以上是C語言的標(biāo)準(zhǔn),而各個(gè)平臺(tái)各自又對(duì)C庫函數(shù)進(jìn)行的各種擴(kuò)充,就浩如煙海了。如POSIX C、GNU C等

C語言中信號(hào)問題

信號(hào)是程序執(zhí)行過程中出現(xiàn)的異常情況。它可能是由程序中的錯(cuò)誤造成的,例如引用內(nèi)存中的一個(gè)非法地址;或者是由程序數(shù)據(jù)中的錯(cuò)誤造成的,例如浮點(diǎn)數(shù)被0除;或者是由外部事件引發(fā)的,例如用戶按了Ctrl+Break鍵。

你可以利用標(biāo)準(zhǔn)庫函數(shù)signal()指定要對(duì)這些異常情況采取的處理措施(實(shí)施處理措施的函數(shù)被稱為“信號(hào)處理函數(shù)”)。signal()的原型為:

#include signal.h

void(*signal(int hum,void(*func)(int)))(int);

如果定義一個(gè)typedef,理解起來就容易一些了。下面給出的sigHandler_t類型是指向一個(gè)程序的指針,該函數(shù)有一個(gè)int類型的參數(shù),并且返回一個(gè)void類型:

typedef void(*sigHandler_t)(int);

sigHandler_t signal(int num , sigHandler_t func);

signal()有兩個(gè)參數(shù),分別為int類型和sigHandler_t類型,其返回值為sigHandler_t類型。以func參數(shù)形式傳遞給signal()的那個(gè)函數(shù)將成為第num號(hào)異常情況的新的信號(hào)處理函數(shù)。signal()的返回值是信號(hào)hum原來的信號(hào)處理函數(shù)。在設(shè)置了一個(gè)暫時(shí)的信號(hào)處理函數(shù)之后,你可以利用該值恢復(fù)程序先前的行為。num的可能值依賴于系統(tǒng),并且在signal.h中列出。func的可能值可以是你的程序中的任意函數(shù),或者是SIG_DFL和SLG_IGN這兩個(gè)特別定義的值之一。SIG_DFL是指系統(tǒng)的缺省處理措施,通常是暫停執(zhí)行程序;SIG_IGN表示信號(hào)將被忽略。

C語言字符串處理的庫函數(shù)有哪些

函數(shù)名: strrchr

功 能: 在串中查找指定字符的最后一個(gè)出現(xiàn)

用 法: char *strrchr(char *str, char c);

舉例:

[cpp] view plain copy

char fullname="./lib/lib1.so";

char *ptr;

ptr = strrchr(fullname,'/');

printf("filename is %s",++ptr);

//運(yùn)行結(jié)果:filename is lib1.so

函數(shù)名: strchr

功 能: 在串中查找指定字符的第一個(gè)出現(xiàn)

用 法: char *strchr(char *str, char c);

舉例:

[cpp] view plain copy

char fullname="./lib/lib1.so";

char *ptr;

ptr = strrchr(fullname,'.');

printf("after strchr() is %s",++ptr);

//運(yùn)行結(jié)果:after strchr() is /lib/lib1.so

函數(shù)名: strtok

功 能: 在串中查找指定字符的第一個(gè)出現(xiàn)

用 法: char *strtok(char *s, char *delim);

說明:

1.strtok函數(shù)的實(shí)質(zhì)上的處理是,strtok在s中查找包含在delim中的字符并用NULL(’/0′)來替換,直到找遍整個(gè)字符串。這句話有兩層含義:(1)每次調(diào)用strtok函數(shù)只能獲得一個(gè)分割單位。(2)要獲得所有的分割單元必須反復(fù)調(diào)用strtok函數(shù)。

2.strtok函數(shù)以后的調(diào)用時(shí)的需用NULL來替換s.

3.形參s(要分割的字符串)對(duì)應(yīng)的變量應(yīng)用char s[]=”….”形式,而不能用char *s=”….”形式。

舉例:

[cpp] view plain copy

void main()

{

char buf[]=”Golden Global View”;

char* token = strtok( buf, ” “);

while( token != NULL )

{

printf( ”%s “, token );

token = strtok( NULL, ” “);

}

return 0;

}

/*其結(jié)果為:

Golden

Global

View

*/

函數(shù)名:strncpy

功能:把src所指由NULL結(jié)束的字符串的前n個(gè)字節(jié)復(fù)制到dest所指的數(shù)組中

用法:char *strncpy(char *dest, char *src, int n);

說明:

如果src的前n個(gè)字節(jié)不含NULL字符,則結(jié)果不會(huì)以NULL字符結(jié)束。

如果src的長(zhǎng)度小于n個(gè)字節(jié),則以NULL填充dest直到復(fù)制完n個(gè)字節(jié)。

src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。

返回指向dest的指針。

舉例:

[c-sharp] view plain copy

#include syslib.h

#include string.h

main()

{

char buf[4];

char *s="abcdefg";

strncpy(buf,s,4);

printf("%s/n",buf);

return 0;

}

/*運(yùn)行結(jié)果:

abcd

*/

函數(shù)名: stpcpy

功 能: 拷貝一個(gè)字符串到另一個(gè)

用 法: char *stpcpy(char *destin, char *source);

舉例:

[cpp] view plain copy

#include stdio.h

#include string.h

int main(void)

{

char string[10];

char *str1 = "abcdefghi";

stpcpy(string, str1);

printf("%s/n", string);

return 0;

}

/*運(yùn)行結(jié)果

abcdefghi

*/

函數(shù)名: strcat

功 能: 字符串拼接函數(shù)

用 法: char *strcat(char *destin, char *source);

舉例:

[cpp] view plain copy

#include string.h

#include stdio.h

int main(void)

{

char destination[25];

char *blank = " ", *c = "C++", *Borland = "Borland";

strcpy(destination, Borland);

strcat(destination, blank);

strcat(destination, c);

printf("%s/n", destination);

return 0;

}

/*運(yùn)行結(jié)果:

Borland C++

*/

函數(shù)名: strcmp

功 能: 串比較

用 法: int strcmp(char *str1, char *str2);

看Asic碼,str1str2,返回值 0;兩串相等,返回0

舉例:

[cpp] view plain copy

#include string.h

#include stdio.h

int main(void)

{

char *buf1 = "aaa", *buf2 = "bbb";

int ptr;

ptr = strcmp(buf2, buf1);

if (ptr 0)

printf("buffer 2 is greater than buffer 1/n");

else if(ptr 0)

printf("buffer 2 is less than buffer 1/n");

else

printf("buffer 2 is equal with buffer 1/n");

return 0;

}

/*運(yùn)行結(jié)果:

buffer 2 is greater than buffer 1

*/

函數(shù)名: strncmpi

功 能: 將一個(gè)串中的一部分與另一個(gè)串比較, 不管大小寫

用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);

舉例:

[cpp] view plain copy

#include string.h

#include stdio.h

int main(void)

{

char *buf1 = "BBB", *buf2 = "bbb";

int ptr;

ptr = strcmpi(buf2, buf1);

if (ptr 0)

printf("buffer 2 is greater than buffer 1/n");

if (ptr 0)

printf("buffer 2 is less than buffer 1/n");

if (ptr == 0)

printf("buffer 2 equals buffer 1/n");

return 0;

}

函數(shù)名: strcspn

功 能: 在串中查找第一個(gè)給定字符集內(nèi)容的段

用 法: int strcspn(char *str1, char *str2);

舉例:

[cpp] view plain copy

#include stdio.h

#include string.h

#include alloc.h

int main(void)

{

char *string1 = "1234567890";

char *string2 = "747DC8";

int length;

length = strcspn(string1, string2);

printf("Character where strings intersect is at position %d/n", length);

return 0;

}

函數(shù)名: strdup

功 能: 將串拷貝到新建的位置處

用 法: char *strdup(char *str);

舉例:

[cpp] view plain copy

#include stdio.h

#include string.h

#include alloc.h

int main(void)

{

char *dup_str, *string = "abcde";

dup_str = strdup(string);

printf("%s/n", dup_str);

free(dup_str);

return 0;

}

函數(shù)名: stricmp

功 能: 以大小寫不敏感方式比較兩個(gè)串

用 法: int stricmp(char *str1, char *str2);

舉例:

[cpp] view plain copy

#include string.h

#include stdio.h

int main(void)

{

char *buf1 = "BBB", *buf2 = "bbb";

int ptr;

ptr = stricmp(buf2, buf1);

if (ptr 0)

printf("buffer 2 is greater than buffer 1/n");

if (ptr 0)

printf("buffer 2 is less than buffer 1/n");

if (ptr == 0)

printf("buffer 2 equals buffer 1/n");

return 0;

}

函數(shù)名: strerror

功 能: 返回指向錯(cuò)誤信息字符串的指針

用 法: char *strerror(int errnum);

舉例:

[cpp] view plain copy

#include stdio.h

#include errno.h

int main(void)

{

char *buffer;

buffer = strerror(errno);

printf("Error: %s/n", buffer);

return 0;

}

函數(shù)名: strncmp

功 能: 串比較

用 法: int strncmp(char *str1, char *str2, int maxlen);

舉例:

[cpp] view plain copy

#include string.h

#include stdio.h

int main(void)

{

char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";

int ptr;

ptr = strncmp(buf2,buf1,3);

if (ptr 0)

printf("buffer 2 is greater than buffer 1/n");

else

printf("buffer 2 is less than buffer 1/n");

ptr = strncmp(buf2,buf3,3);

if (ptr 0)

printf("buffer 2 is greater than buffer 3/n");

else

printf("buffer 2 is less than buffer 3/n");

return(0);

}

函數(shù)名: strncmpi

功 能: 把串中的一部分與另一串中的一部分比較, 不管大小寫

用 法: int strncmpi(char *str1, char *str2, int len);

舉例:

[cpp] view plain copy

#include string.h

#include stdio.h

int main(void)

{

char *buf1 = "BBBccc", *buf2 = "bbbccc";

int ptr;

ptr = strncmpi(buf2,buf1,3);

if (ptr 0)

printf("buffer 2 is greater than buffer 1/n");

if (ptr 0)

printf("buffer 2 is less than buffer 1/n");

if (ptr == 0)

printf("buffer 2 equals buffer 1/n");

return 0;

}

函數(shù)名: strnset

功 能: 將一個(gè)串中的所有字符都設(shè)為指定字符

用 法: char *strnset(char *str, char ch, unsigned n);

舉例:

[cpp] view plain copy

#include stdio.h

#include string.h

int main(void)

{

char *string = "abcdefghijklmnopqrstuvwxyz";

char letter = 'x';

printf("string before strnset: %s/n", string);

strnset(string, letter, 13);

printf("string after strnset: %s/n", string);

return 0;

}

函數(shù)名: strpbrk

功 能: 在串中查找給定字符集中的字符

用 法: char *strpbrk(char *str1, char *str2);

舉例:

[cpp] view plain copy

#include stdio.h

#include string.h

int main(void)

{

char *string1 = "abcdefghijklmnopqrstuvwxyz";

char *string2 = "onm";

char *ptr;

ptr = strpbrk(string1, string2);

if (ptr)

printf("strpbrk found first character: %c/n", *ptr);

else

printf("strpbrk didn't find character in set/n");

return 0;

}

函數(shù)名: strrev

功 能: 串倒轉(zhuǎn)

用 法: char *strrev(char *str);

舉例:

[cpp] view plain copy

#include string.h

#include stdio.h

int main(void)

{

char *forward = "string";

printf("Before strrev(): %s/n", forward);

strrev(forward);

printf("After strrev(): %s/n", forward);

return 0;

}

/*運(yùn)行結(jié)果:

Before strrev(): string

After strrev(): gnirts

*/

函數(shù)名: strstr

功 能: 在串中查找指定字符串的第一次出現(xiàn)

用 法: char *strstr(char *str1, char *str2);

舉例:

[cpp] view plain copy

#include stdio.h

#include string.h

int main(void)

{

char *str1 = "Borland International", *str2 = "nation", *ptr;

ptr = strstr(str1, str2);

printf("The substring is: %s/n", ptr);

return 0;

}

函數(shù)名: strtod

功 能: 將字符串轉(zhuǎn)換為double型值

用 法: double strtod(char *str, char **endptr);

舉例:

[cpp] view plain copy

#include stdio.h

#include stdlib.h

int main(void)

{

char input[80], *endptr;

double value;

printf("Enter a floating point number:");

gets(input);

value = strtod(input, endptr);

printf("The string is %s the number is %lf/n", input, value);

return 0;

}

函數(shù)名: strtol

功 能: 將串轉(zhuǎn)換為長(zhǎng)整數(shù)

用 法: long strtol(char *str, char **endptr, int base);

舉例:

[cpp] view plain copy

#include stdlib.h

#include stdio.h

int main(void)

{

char *string = "87654321", *endptr;

long lnumber;

/* strtol converts string to long integer */

lnumber = strtol(string, endptr, 10);

printf("string = %s long = %ld/n", string, lnumber);

return 0;

}

函數(shù)名: strupr

功 能: 將串中的小寫字母轉(zhuǎn)換為大寫字母

用 法: char *strupr(char *str);

舉例:

[cpp] view plain copy

#include stdio.h

#include string.h

int main(void)

{

char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;

/* converts string to upper case characters */

ptr = strupr(string);

printf("%s/n", ptr);

return 0;

}

當(dāng)前文章:c語言信號(hào)處理函數(shù)庫 c語言信號(hào)量例子
文章URL:http://www.chinadenli.net/article20/dddcpco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)云服務(wù)器網(wǎng)站建設(shè)定制網(wǎng)站全網(wǎng)營(yíng)銷推廣外貿(mào)建站

廣告

聲明:本網(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)

外貿(mào)網(wǎng)站建設(shè)