常用字符串库函数总结

    技术2022-07-17  98

    本文转自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是一个 十六进制数字字符,返回一个真值,否则返回05)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前字符个数

    Processed: 0.011, SQL: 10