本文转自https://blog.csdn.net/sharon_1987/article/details/50022855
本文与原文内容没有差别,但是由于本人比较注重颜值还有阅读体验(自认为这样可能阅读起来会舒服点),就...又给排版了一下,也算参与博客创作了(重在参与重在参与);
本文主要是粗略的介绍了各个字符库函数的大致用法,总结感觉也挺详细,就分享给诸位,有许多说明不明确,如果相要详细理解,可以在博客搜索,后续有些可能我可能也会写博客总结,到时候会附上链接,有些可能会存在错误,望大佬们指出;
一:字符处理库函数,头文件 #inlcude<ctype.h>
1)isdight;
(1)函数原型:int isdight (char c);
(2)描述:如果c是一个 数字,返回一个真值,否则返回0(假)。
2)isalphs;
(1)函数原型:int isalpha(char c);
(2)描述:如果c是一个 字母,返回一个真值,否则返回0(假)。
3)isalnum;
(1)函数原型:int isalnum(char c);
(2)描述:如果c是一个 字母 或 数字,返回一个真值,否则返回0(假)。
4)isxdigit;
(1)函数原型:int isxdigit(char c);
(2)描述:如果c是一个 十六进制数字字符,返回一个真值,否则返回0
5)islower;
(1)函数原型:int islower (int c);
(2)描述:如果c是一个 小写字母,返回一个真值,否则返回0(假)。
6)isupper;
(1)函数原型:int isupper(char c);
(2)描述:如果c是一个 大写字母,返回一个真值,否则返回0(假)。
7)tolower;
(1)函数原型:int tolower(char c);
(2)描述:如果c是一个 大写字母,返回其 小写字母值,否则返回原参数。
8)toupper;
(1)函数原型:int toupper(char c);
(2)描述:如果c是一个 小写字母,返回其 大写字母值,否则返回原参数。
9)isspace;
(1)函数原型:int isspace (char c);
(2)描述:如果c是一个 空白字符,返回一个真值,否则返回0(假)。
10)iscntrl;
(1)函数原型:int iscntrl(char c);
(2)描述:如果c是一个 控制字符,返回一个真值,否则返回0(假)。
11)ispunct;
(1)函数原型:int ispunct(char c);
(2)描述:如果c是一个 除空格,数字和字母之外的可打印字符,返回其小写字母值,否则返回0。
12)isprint;
(1)函数原型:int isprint(char c);
(2)描述:如果c是一个 可打印字符(包括空格),返回一个真值,否则返回0。
13)iagraph;
(1)函数原型:int iagraph(char c);
(2)描述:如果c是 除空格之外的可打印字符,返回一个真值,否则返回0。
二 字符串转换函数,头文件 #include<stdlib.h>
1)atof
(1)函数原型:double atof(const char *nPtr);
(2)描述:把字符串nPtr转换为double类型
2)atoi
(1)函数原型:int atoi(const char *nPtr);
(2)描述:把字符串nPtr转换为int类型
3)atol
(1)函数原型:long atol(const char *nPtr);
(2)描述:把字符串nPtr转换为long类型
4)strtod
(1)函数原型:double strtod(const char *nPtr, char **endPtr);
(2)描述:把字符串nPtr转换为double类型
5)strtol
(1)函数原型:long strtol(const char *nPtr, char **endPtr, int base);
(2)描述:把字符串nPtr转换为long类型
6)strtoul
(1)函数原型:long strtoul(const char *nPtr, char **endPtr, int base);
(2)描述:把字符串nPtr转换为long类型
三 标准输入/输出库函数,头文件 #icnlude<stdio.h>
1)gets; (因为LINUX下没有gets函数,是因为怕系统读取爆炸列,所以用fgets函数代替)
(1)函数原型:char *gets(char *s) ;
(2)描述:从标准输入设备把字符读到数组S中,直到遇到新行符或文件结束符为止。
读完字符后,在数组的最后追加一个NULL字符
2)fgets;
(1)函数原型:fgets(char *s, int n, FILE *fp);
(2)描述:从fp指向的文件读取一个长度为(n-1)的字符串。存入起始地址为S的空间.
stdin 是从键盘上读取字符串到数组中。
3) putchar;
(1)函数原型:int putchar(int c);
(2)描述:打印存储在C中的字符(注意 这里是字符不是字符串)。stdout 是输出设备
4)puts;
(1)函数原型:int puts(const char *s);
(2)描述:打印字符串S和新行符。
5) getchar;
(1)函数原型:int getchar(void);
(2)描述:从标准输入设备读取下一个字符并以整数形式返回该字符。
6)sprintf ;
(1)函数原型:int sprintf(char *s,const char *format,...);
(2)描述:除了输出结果存储在数组S中(而不是打印到屏幕上)外,该函数于ptintf等价。
7)sscanf ;
(1)函数原型:int sscanf(char *s,const char *format,...);
(2)描述:除了从数组S中读取数据(而不是键盘读取)外,该函数于scanf等价。
四:字符串处理库中的字符操作函数,头文件 #include<string.h>
1)strcpy ;
(1)函数原型:char *strcpy(char *s1,const char *s2);
(2)描述:把字符串s2拷贝到字符串s1中,返回s1的值。
2) strncpy;
(1)函数原型:char *strncpy(char *s1,const char *s2,size_t n);
(2)描述:把字符串s2中的字符拷贝到数组s1中,最多拷贝n个字符,返回s1的值。
3)strcat ;
(1)函数原型:char *strcat(char *s1,const char *s2);
(2)描述:把字符串s2追加到数组s1中,s2的第一个字符覆盖掉s1中的终止字符NULL,返回s1的值。
4) strncat;
(1)函数原型:char *strncat(char *s1,const char *s2,size_t n);
(2)描述:把字符串s2追加到数组s1中,最多追加n个字符。s2的第一个字符覆盖掉s1中的终
止字符NULL,返回s1的值
五:字符串处理库中的比较函数,头文件#include<string.h>
1)strcmp ;
(1)函数原型:int strcmp(char *s1,const char *s2);
(2)描述:比较字符串s1和字符串s2。在s1等于,小于或者大于s2时,分别返回0,负值和正值。
2) strncmp;
(1)函数原型:int strncmp(char *s1,const char *s2,size_t n);
(2)描述:比较字符串s1和字符串s2中的n个字符。在s1等于,小于或者大于s2时,分别返回0,负值和正值。
六:字符串处理库中的查找函数,头文件#include<string.h>
1) strchr;
(1)函数原型:char *strchr(const char *s,int c);
(2)描述:定位字符c首次出现在字符串s中的位置。如果找到了c,返回一个指向s中的字符c的指针,否则返回NULL指针。
2) strcspn;
(1)函数原型:size_t strcspn(const char *s1,const char *s2);
(2)描述:计算并返回字符串s1中不含字符串s2中字符的起始段的长度。
3) strpbrk;
(1)函数原型:size_t strcspn(const char *s1,const char *s2);
(2)描述:定位字符串s1中首次出现字符串s2中字符的位置。如果找到了字符串s2中的字符,返回一个指向字符串s1中的该字符的指针,否则返回NULL指针。
4) strrchr;
(1)函数原型:size_t strrchr(const char *s1,int c);
(2)描述:定位字符字符串s中最后一次出现c的位置。如果找到了c,返回一个指向字符串s中的字符c的指针,否则返回NULL指针。
5) strspn;
(1)函数原型:size_t strspn(const char *s1,const char *s2);
(2)描述:计算并返回字符串s1中“只”含字符串s2中字符的起始段的长度。
6) strstr;
(1)函数原型:size_t strstr(const char *s1,const char *s2);
(2)描述:定位在字符串s1中首次出现字符串s2的位置。如果找到了该字符串,返回一个指向s1中的该字符串的指针,否则返回NULL指针。
7) strtok;
(1)函数原型:size_t strtok(const char *s1,const char *s2);
(2)描述:对strtok的一系列调用把字符串s1打断为用字符串s2中包含的字符分开的“记号”token。记号是逻辑波分,如一行文本中的单词。第一次调用把s1作为第一个参数,以后为继续把该字符串打断成记号而再次调用函数strtok时要用NULL作为第一个参数。每次调用都返回指向当前记号的指针。如果在调用该函数时,字符串中已没有剩余的记号,返回NULL.
七:字符处理库中的内存函数,头文件#include<string.h>
1) memcpy;
(1)函数原型:void *memcpy(void *s1,const void *s2,size_t n);
(2)描述:把s2所只想的对象中的n个字符拷贝到s1所指向的对象中,返回指向结果对象的指针。
2) memmov;
(1)函数原型:void *memmov(void *s1,const void *s2,size_t n);
(2)描述:把s2所指向的对象中的n个字符拷贝到s1所指向的对象中。拷贝过程就好像是先把字符从s2所指向的对象拷贝到临时数组中,然后再从临时数组拷贝到s1所指向的对象中,返回指向结果对象的指针。
3) memcmp;
(1)函数原型:void *memcmp(void *s1,const void *s2,size_t n);
(2)描述:比较s1和s1所指向的对象的前n个字符。如果s1所指向的对象中的字符等于,小于或大于s2所指向的对象中的字符,返回值分别等于0,小于0和大于0。
4) memcpy;
(1)函数原型:void *memchr(void *s,int c,size_t n);
(2)描述:定位在s所指向的对象的前n个字符中首次出现字符c的位置。如果找到c,返回指向它的指针,否则返回NULL.
5) memset;
(1)函数原型:void *memset(void *s,int c,size_t n);
(2)描述:把c(转换为unsigned char类型)拷贝到s所指向的对象的前n个字符中。返回指向结果的指针。
八:字符串处理库中的其他函数,头文件 #include<stdio.h>
1) strerror;
(1)函数原型:char *strerror(int errornum);
(2)描述:建立与errornum匹配的完整的文字字符串(与系统有关),返回指向该字符串的指针。
2) strlen;
(1)函数原型:size_t strlen(const char *s);
(2)描述:计算字符串s的长度,返回终止字符NULL前字符个数