C常用函数库
C语言常用函数

C语言的常用库函数函数1。
absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num 个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。
参数:drive=0对应A盘,drive=1对应B盘。
返回值:0:成功;-1:失败。
头文件:dos.h函数2。
abswrite()写磁盘绝对扇区函数原形:int abswrite(int drive,int nsects,int lsect,void *buffer)drive=0(A驱动器)、1(B驱动器)、nsects=要写的扇区数(最多64K个);lsect=起始逻辑扇区号;buffer=要写入数据的内存起始地址。
功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。
返回值:0:成功;-1:失败。
头文件:dos.h函数3。
atof()将字符串转换成浮点数的函数原形:double atof(const char *s)功能:把s所指向的字符串转换成double类型。
s格式为:符号数字.数字E符号数字返回值:字符串的转换值。
头文件:math.h、stdlib.h函数4。
atoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型。
s格式为:符号数字返回值:字符串的转换值。
若出错则返回0。
头文件:stdlib.h函数5。
atol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成long int类型。
s格式为:符号数字返回值:字符串的转换值。
常用C语言标准库函数

常用C语言标准库函数C语言编译系统提供了众多的预定义库函数和宏。
用户在编写程序时,可以直接调用这些库函数和宏。
这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。
1.测试函数Isalnum原型:int isalnum(int c)功能:测试参数c是否为字母或数字:是则返回非零;否则返回零头文件:ctype.hIsapha原型:int isapha(int c)功能:测试参数c是否为字母:是则返回非零;否则返回零头文件:ctype.hIsascii原型:int isascii(int c)功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零头文件:ctype.hIscntrl原型:int iscntrl(int c)功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零头文件:ctype.hIsdigit原型:int isdigit(int c)功能:测试参数c是否为数字:是则返回非零;否则返回零。
头文件:ctype.hIsgraph原型:int isgraph(int c)功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.hIslower原型:int islower(int c)功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.hIsprint原型:int isprint(int c)功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零头文件:ctype.hIspunct原型:int ispunct(int c)功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.hIsupper原型:int isupper(inr c)功能:测试参数c是否为大写字母:是则返回非零;否则返回零Isxdigit原型:int isxdigit(int c)功能:测试参数c是否为十六进制数:是则返回非零;否则返回零2.数学函数abs原型:int abs(int i)功能:返回整数型参数i的绝对值头文件:stdlib.h,math.hacos原型:double acos(double x)功能:返回双精度参数x的反余弦三角函数值头文件:math.hasin原型:double asin(double x)功能:返回双精度参数x的反正弦三角函数值头文件:math.hatan原型:double atan(double x)功能:返回双精度参数的反正切三角函数值头文件:math.hatan2原型:double atan2(double y,double x)功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.hcabs原型:double cabs(struct complex znum)功能:返回一个双精度数,为计算出复数znum的绝对值。
c语言常用函数

1、字符处理函数本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换头文件 ctype.hint isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F),返回非0值,否则返回0int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n'), 返回非0值,否则返回0int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z')int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z')2、数学函数本分类给出了各种数学计算函数头文件 math.hint abs(int i) 返回整型参数i的绝对值double cabs(struct complex znum) 返回复数znum的绝对值double fabs(double x) 返回双精度参数x的绝对值long labs(long n) 返回长整型参数n的绝对值double exp(double x) 返回指数函数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) 返回直角三角形斜边的长度(z), x和y为直角边的长度,z2=x2+y2double ceil(double x) 返回不小于x的最小整数double floor(double x) 返回不大于x的最大整数void srand(unsigned seed) 初始化随机数发生器int rand() 产生一个随机数并返回这个数double modf(double value,double *iptr) 将双精度数value分解成尾数和阶double fmod(double x,double y) 返回x/y的余数3、字符串处理本分类的函数用于对字符串进行合并、比较等操作头文件 string.hchar stpcpy(char *dest,const char *src) 将字符串src复制到destchar strcat(char *dest,const char *src) 将字符串src添加到dest末尾char strchr(const char *s,int c) 眷索并返回字符c在字符串s中第一次出现的位置int strcmp(const char *s1,const char *s2) 比较字符串s1与s2的大小,并返回s1-s2char strcpy(char *dest,const char *src) 将字符串src复制到destsize_t strcspn(const char *s1,const char *s2) 扫描s1,返回在s1中有,在s2中也有的字符个数char strdup(const char *s) 将字符串s复制到最近建立的单元int stricmp(const char *s1,const char *s2) 比较字符串s1和s2,并返回s1-s2size_t strlen(const char *s) 返回字符串s的长度char strlwr(char *s)将字符串s中的大写字母全部转换成小写字母,并返回转换后的字符串char strncat(char *dest,const char *src,size_t maxlen)将字符串src中最多maxlen个字符复制到字符串dest中int strncmp(const char *s1,const char *s2,size_t maxlen)比较字符串s1与s2中的前maxlen个字符char strncpy(char *dest,const char *src,size_t maxlen)复制src中的前maxlen个字符到dest中int strnicmp(const char *s1,const char *s2,size_t maxlen)比较字符串s1与s2中的前maxlen个字符char strnset(char *s,int ch,size_t n)将字符串s的前n个字符置于ch中char strpbrk(const char *s1,const char *s2)扫描字符串s1,并返回在s1和s2中均有的字符个数char strrchr(const char *s,int c)扫描最后出现一个给定字符c的一个字符串schar strrev(char *s)将字符串s中的字符全部颠倒顺序重新排列,并返回排列后的字符串char strset(char *s,int ch)将一个字符串s中的所有字符置于一个给定的字符chsize_t strspn(const char *s1,const char *s2)扫描字符串s1,并返回在s1和s2中均有的字符个数char strstr(const char *s1,const char *s2)扫描字符串s2,并返回第一次出现s1的位置char strtok(char *s1,const char *s2)检索字符串s1,该字符串s1是由字符串s2中定义的定界符所分隔char strupr(char *s)将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串4、输入输出函数该分类用于处理包括文件、控制台等各种输入输出设备,各种函数以“流”的方式实现头文件 stdio.hC语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fge tc,fputc,fscanf,fprintf等.int scanf(const char *format, arg_list)scanf主要从标准输入流中获取参数值,format为指定的参数格式及参数类型,如scanf("%s,%d",str,icount);它要求在标准输入流中输入类似"son of bitch,1000"这样的字符串,同时程序会将"son of bitch"给str,1000给icount.scanf函数的返回值为int值,即成功赋值的个数,在上例中如果函数调用成功,则会返回2,所以我们在写程序时,可以通过语句if(scanf("%s,%d",str,icount) != 2){...}来判断用户输入是否正确.int printf(const char *format, arg_list)printf主要是将格式化字符串输出到标准输出流中,在stdio.h头文件中定义了标准的输入和输出,分别是stdin,stdout.arg_list可以是变量名,也可以是表达式,但最终都会以值的形式填充进format中.int getc(FILE *fp)getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为:(ch = getc(fp)) != EOF.EOF为文件结束标志,定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin时,getc(stdin)就等同于getchar()了.int putc(int ch,FILE *fp)putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.int getchar(void)getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h 中定义的stdin.但是从输入流中读取字符时又涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:while ((c = getchar()) != '#')这是以#来结束的.int putchar(int ch)putchar(ch)主要是把字符ch写到标准流stdout中去.char * gets(char *str)gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.int puts(char *str)puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.char *fgets(char *str, int num, FILE *fp)str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.int fputs(char *str, file *fp)fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.int fgetc(FILE *fp)fgetc从fp的当前位置读取一个字符.int fputc(int ch, file *fp)fputc是将ch写入fp当前指定位置.int fscanf(FILE *fp, char *format,...)fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.int fprintf(FILE *fp, char *format,...)fprintf将格式化数据写入流式文件中.5、控制台输入输出函数该类函数主要包含了一些文本模式的屏幕控制函数,象绘画窗口、显示彩色文本,不是 Ansi标准函数,比如getch()函数等等。
c语言常用函数大全

c语言常用函数大全1.int iscntrl(int c) 判断字符c是否为控制字符。
2.int isalnum(int c) 判断字符c是否为字母或数字3.int isalpha(int c) 判断字符c是否为英文字母4.int isascii(int c) 判断字符c是否为ascii码5.int isblank(int c) 判断字符c是否为TAB或空格6.int isdigit(int c) 判断字符c是否为数字7.int isgraph(int c) 判断字符c是否为除空格外的可打印字符8.int islower(int c) 判断字符c是否为小写英文字母9.int isprint(int c) 判断字符c是否为可打印字符(含空格)10.int ispunct(int c) 判断字符c是否为标点符号11.int isspace(int c) 判断字符c是否为空白符12.int isupper(int c) 判断字符c是否为大写英文字母13.int isxdigit(int c) 判断字符c是否为十六进制数字14.int toascii(int c) 将字符c转换为ascii码15.int tolower(int c) 将字符c转换为小写英文字母16.int toupper(int c); 将字符c转换为大写英文字母17.float fabs(float x) 求浮点数x的绝对值18.int abs(int x) 求整数x的绝对值19.float acos(float x) 求x(弧度表示)的反余弦值20.float asin(float x) 求x(弧度表示)的反正弦值21.float atan(float x) 求x(弧度表示)的反正切值22.float atan2(float y, float x) 求y/x(弧度表示)的反正切值23.float ceil(float x) 求不小于x的最小整数24.float cos(float x) 求x(弧度表示)的余弦值25.float cosh(float x) 求x的双曲余弦值26.float exp(float x) 求e的x次幂。
c语言常用函数大全超详细

c语言常用函数大全超详细C语言常用函数大全:A Comprehensive Guide in ChineseC语言是一种非常流行且广泛应用的编程语言,其提供了许多内置函数来处理各种任务。
在本文中,我们将详细介绍一些C语言常用的函数,以帮助初学者和有经验的程序员更好地理解和应用这些函数。
1. printf()函数:该函数用于输出文本到屏幕或文件。
使用格式化字符串可以实现不同类型的输出,如整数、浮点数和字符串。
2. scanf()函数:该函数用于从用户输入中读取数据,并将其保存到变量中。
和printf()函数一样,scanf()函数也使用格式化字符串来指定输入的数据类型。
3. strlen()函数:该函数用于计算字符串的长度。
它返回一个无符号整数,表示字符串中字符的数量,不包括空结束符。
4. strcpy()函数:该函数用于将一个字符串复制到另一个字符串。
它将源字符串中的字符复制到目标字符串中,并在目标字符串的末尾添加空结束符。
5. strcat()函数:该函数用于将一个字符串连接到另一个字符串的末尾。
它将源字符串中的字符连接到目标字符串的末尾,并确保目标字符串以空结束符结尾。
6. atoi()函数:该函数将一个字符串转换为整数并返回结果。
7. atof()函数:该函数将一个字符串转换为浮点数并返回结果。
8. srand()函数:该函数用于初始化随机数生成器。
通过提供一个种子值,可以生成伪随机数序列。
9. rand()函数:该函数生成一个伪随机数。
在调用srand()函数之后,可以使用rand()函数来获取一系列不同的随机数。
10. fopen()函数:该函数用于打开文件,并返回一个指向该文件的指针。
可以指定不同的模式来进行读取、写入或同时读写文件。
11. fclose()函数:该函数用于关闭已经打开的文件。
在完成文件操作后调用该函数是一个良好的编程实践,以确保文件资源被正确释放。
12. fgets()函数:该函数用于从文件中读取一行文本。
c语言的函数库

c语言的函数库C语言作为一种常用的编程语言,在软件开发领域有着广泛的应用。
在C语言中,函数库是非常重要的一部分,通过函数库中提供的函数,我们可以更方便地编写程序,提高开发效率。
那么,C语言的函数库主要有哪些内容呢?C语言的函数库主要包括两部分:标准函数库和扩展函数库。
其中,标准函数库是所有C语言实现都必须提供的,包括stdio.h、stdlib.h、string.h、math.h、time.h等头文件。
这些头文件中提供了许多常用的函数,例如实现输入输出、字符串处理、数学运算、时间操作等。
这些函数库被广泛使用,而且在各个平台上都是一样的。
因此,开发者们可以在不同的平台上使用相同的代码。
另一部分是扩展函数库,也称为操作系统函数库。
扩展函数库提供了许多与操作系统相关的函数,例如文件操作、内存管理、进程控制等。
这些函数库的具体内容因操作系统不同而有所不同,例如在Windows 系统中,可以使用winsock.h库进行网络编程,在Linux系统中则可以使用unistd.h库访问Linux系统的API函数。
值得一提的是,C语言的函数库是由一些预编译的函数集合组成的,这些函数都是在头文件中声明的,并且实际的实现是提供给编译器的,编译器会将函数库中的函数编译成目标代码,然后链接到程序中。
因此,我们在编写程序时可以使用这些函数库中的函数,而无需手动实现。
在实际编写程序时,我们通过#include语句引入需要的头文件,就可以使用该文件中提供的函数。
例如,当我们需要进行文件操作时,就可以包含stdio.h头文件。
这个头文件中包含许多与文件操作相关的函数,例如fopen()、fclose()、fread()、fwirte()等。
这些函数都是在函数库中提供的,我们可以直接在程序中使用。
除此之外,我们还可以自己编写的函数添加到函数库中,以便在需要的时候调用。
为此,我们需要将函数编写在一个代码文件中,并通过编译器进行编译和链接,从而生成一个静态库或动态库。
C语言常用库函数

函数原型
功能
返回值
包含文件
isalnum
Int isalnum (int ch);
检查ch是否是字母(alpha)或数字(numeric)
是字母或数字返回1;否则返回0
ctype.h
isalpha
Int isalpha(int ch);
检查ch是否字母
是,返回1;不是,则返回0
ctype.h
iscntrl
把一个字符ch输出到fp所指的文件中
输出的字符ch,若出错,返回EOF
Putchar
Int putchar (char ch)
把字符ch输出到标准输出设备
输出的字符ch,若出错,返回EOF
Puts
Int puts(char *str)
把str指向的字符串输出到标准输出设备,将’\0’转换为回车换行
返回换行符,若失败,返回EOF
返回指向该位置的指针,如找不到,则返回空指针
string.h
strcmp
char *strcmp(char *str1,char *str2);
比较两个字符串str1、str2
Str1<str2,返回负数;
Str1=str2,返回0;str1>str2,返回正数。
string.h
strcpy
char *strcpy(char *str1,char *str2);
是,返回1;不是,则返回0
ctype.h
ispunct
Int ispunct (int ch);
检查ch是否标点字符(不包括空格),即除字母、数字和空格以外的所有可打印字符
是,返回1;不是,则返回0
ctype.h
isspace
单片机C语言(C51)常用库函数

单片机C语言(C51)常用库函数单片机C语言(C51)常用库函数在单片机编程中,使用库函数可以大大提高开发效率和简化代码结构。
C51是一种常用的单片机编程语言,它提供了许多常用的库函数,本文将介绍一些常用的C51库函数及其用法。
1. 字符串处理函数字符串处理是单片机编程中常见的任务。
C51提供了一些常用的字符串处理函数,如strcpy、strcat、strcmp等。
这些函数可以简化对字符串的操作。
- strcpy:用于将一个字符串复制到另一个字符串中。
用法示例:```char str1[20];char str2[20] = "Hello, world!";strcpy(str1, str2);```- strcat:用于将一个字符串追加到另一个字符串的末尾。
用法示例:```char str1[20] = "Hello,";char str2[20] = " world!";strcat(str1, str2);```- strcmp:用于比较两个字符串是否相等。
用法示例:```char str1[20] = "Hello";char str2[20] = "World";if (strcmp(str1, str2) == 0) {// 字符串相等的处理逻辑} else {// 字符串不相等的处理逻辑}```2. 数学函数单片机编程中常常需要进行数学运算,C51提供了一些常用的数学函数,如abs、sqrt、sin等。
这些函数可以帮助实现各种数学计算。
- abs:用于计算一个整数的绝对值。
用法示例:```int num = -10;int abs_num = abs(num);```- sqrt:用于计算一个浮点数的平方根。
用法示例:```float x = 16.0;float sqrt_x = sqrt(x);```- sin:用于计算一个角度的正弦值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <assert.h> //设定插入点
#include <ctype.h> //字符处理
#include <errno.h> //定义错误码
#include <float.h> //浮点数处理
#include <fstream.h> //文件输入/输出
#include <iomanip.h> //参数化输入/输出
#include <iostream.h> //数据流输入/输出
#include <limits.h> //定义各种数据类型最值常量#include <locale.h> //定义本地化函数
#include <math.h> //定义数学函数
#include <stdio.h> //定义输入/输出函数
#include <stdlib.h> //定义杂项函数及内存分配函数#include <string.h> //字符串处理
#include <strstrea.h> //基于数组的输入/输出
#include <time.h> //定义关于时间的函数
#include <wchar.h> //宽字符处理及输入/输出
#include <wctype.h> //宽字符分类
strcpy
功能: 拷贝一个字符串到另一个
用法: char *strcpy(char *destin, char *source); strncpy
功能: 串拷贝
用法: char *strncpy(char *destin, char *source, int maxlen); strdup
功能: 将串拷贝到新建的位置处
用法: char *strdup(char *str);
strca
功能: 字符串拼接函数
用法: char *strcat(char *destin, char *source);
strlen
功能: 计算字符串s的(unsigned int型)长度,不包括'\0'在内用法: strlen (字符数组名);
strrev
功能: 串倒转
用法: char *strrev(char *str);
strset
功能: 将一个串中的所有字符都设为指定字符
用法: char *strset(char *str, char c);
strnset
功能: 将一个字符串前n个字符都设为指定字符
用法: char *strnset(char *str, char ch, unsigned n);
strchr
功能: 在一个串中查找给定字符的第一个匹配之处
用法: char *strchr(char *str, char c);
strrchr
功能: 在串中查找指定字符的最后一个出现
用法: char *strrchr(char *str, char c);
strcspn
功能: 在串中查找第一个给定字符集内容的段
用法: int strcspn(char *str1, char *str2);
strpbrk
功能: 在串中查找给定字符集中的字符
用法: char *strpbrk(char *str1, char *str2);
strstr
功能: 在串中查找指定字符串的第一次出现
用法: char *strstr(char *str1, char *str2);
strspn
功能: 在串中查找指定字符集的子集的第一次出现
用法: int strspn(char *str1, char *str2);
strtok
功能: 查找由在第二个串中指定的分界符分隔开的单词用法: char *strtok(char *str1, char *str2);
strcmp
功能: 串比较
用法: int strcmp(char *str1, char *str2); 看Asic码,str1>str2,返回值> 0;相等,返回0 strnicmp
功能: 将一个串中的一部分与另一个串比较, 不管大小写
用法: int strnicmp(char *str1, char *str2, unsigned maxlen);
strcmpi
功能: 将一个串与另一个比较, 不管大小写
用法: int strcmpi(char *str1, char *str2);
stricmp
功能: 以大小写不敏感方式比较两个串
用法: int stricmp(char *str1, char *str2);
strncmp
功能: 串比较
用法: int strncmp(char *str1, char *str2, int maxlen);
Atoi
int atoi(const char *nptr);
函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符\0) 字符时停止转换,返回整型数。
Itoa
char *itoa(int value, char *string, int radix); int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等
atof
double atof(const char *nptr);
功能: 把字符串转换成浮点数
strtod
功能: 将字符串转换为double型值
用法: double strtod(char *str, char **endptr);
strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。
若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。
参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。
如123.456或123e-2。
strtol
功能: 将串转换为长整数
用法: long strtol(char *str, char **endptr, int base);
这个函数会将参数nptr字符串根据参数base来转换成长整型数。
参数base范围从2至36,或0。
参数base代表采的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。
当base值为0时则是采用10进制做转换,但遇到如’0x’前置字符则会使用16进制做转换、遇到’0’前置字符而不是’0x’的时候会使用8进制做转换。
一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。
若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回;若参数endptr为NULL,则会不返回非法字符串。
strtol是atoi的增强版
主要体现在这几方面:
1.不仅可以识别十进制整数,还可以识别其它进制的整数,取决于base参数,比如strtol("0XDEADbeE~~", NULL, 16)返回0xdeadbee的值,strtol("0777~~", NULL, 8)返回0777的值。
2.endptr是一个传出参数,函数返回时指向后面未被识别的第一个字符。
例如char *pos; strtol("123abc", &pos, 10);,strtol返回123,pos指向字符串中的字母a。
如果字符串开头没有可识别的整数,例如char *pos; strtol("ABCabc", &pos, 10);,则strtol返回0,pos指向字符串开头,可以据此判断这种出错的情况,而这是atoi处理不了的。
3.如果字符串中的整数值超出long int的表示范围(上溢或下溢),则strtol返回它所能表示
的最大(或最小)整数,并设置errno为ERANGE,例如strtol("0XDEADbeef~~", NULL, 16)返回0x7fffffff并设置errno为ERANGE
strupr
功能: 将串中的小写字母转换为大写字母
用法: char *strupr(char *str);
swab
功能: 交换相邻两个字节
用法: void swab (char *from, char *to, int nbytes);。