C语言的字符与字符串处理函数

字符处理有两类函数:分类转换。分类函数的名称以is开头,转换函数的名称以to开头,一般在ctype.h头文件中声明。宽字符处理也有分类与转换函数之分,这些函数的名称以isw和tow开头,还有通用的分类与转换函数,wctrans和towctrans,这些函数都在头文件wctype.h中定义。

习惯上,C语言中的字符串是以null字符(‘\0‘)结尾的字符数组。C89增补1增加了与普通字符串函数并行的宽字符串函数,差别在于宽字符串函数所带的参数类型为wchar_t*而不是char*,宽字符串函数名把普通字符串函数开头的字母str改成wcs,宽字符串以宽null字符终止,比较宽字符串时,比较wchar_t元素的整数值,宽字符串不进行解释,不会发生编码错误。

下面列举一些与字符串相关的函数。

char* strcat(char *dest, const char *src);

char* strncat(char *dest, const char *src, size_t n);

函数strcat将字符串src的内容添加到字符串dest末尾,返回dest值,strncat函数从src内容中将最多n个字符添加到dest末尾。

int strcmp(const char *s1, const char *s2);

int strncmp(const char *s1, const char *s2, size_t n);

函数strcmp在词法上比较以null终止的字符串s1与以null终止的字符串s2的内容,返回一个int类型值,在s1小于s2时小于0,在s1等于s2是为0,在s1大于s2时大于0,函数strncmp与strcmp相似,只是至多比较以null终止的字符串s1的前n个字符与以null终止的字符串s2的前n个字符。

char* strcpy(char *dest, const char *src);

char* strncpy(char *dest, const char *src, size_t n);

函数strcpy将字符串src的内容复制到字符串dest,覆盖dest中原先的内容,返回dest,函数strncpy只把n个字符复制到dest。

size_t strlen(const char *s);

函数strlen返回s中终止null字符之前的字符数。

char* strchr(const char *s, int c);

char* strrchr(const char *s, int c);

函数strchr搜索字符串s中第一次出现的字符c,如果在字符串中找到了字符c,则返回指向第一个c的指针,函数strrchr与strchr相似,只是返回指向最后一个字符c的指针。

size_t strspn(const char *s, const char *set);

size_t strcspn(const char *s, const char *set);

char* strpbrk(const char *s, const char *set);

函数strspn搜索字符串s中第一个不包含在字符串set中的字符,跳过那些set中包含的字符,返回的值是s中从第一个字符起全部由set中字符组成的段的最大长度,函数strcspn与strspn相似,只是搜索字符串s中第一个在字符串set中的字符,跳过不在set中的字符,函数strpbrk与strcspn相似,只是返回指向找到的set中第一个字符的指针,而不是跳过的字符数。

char* strstr(const char *src, const char *sub);

char* strtok(char *str, const char *set);

函数strstr找到字符串src中第一次出现字符串sub的位置,并返回指向第一次出现的子串的开头的指针。strtok函数将字符串str分解为由字符串set中的字符分隔的记号。

int strcoll(const char *s1, const char *s2);

size_t strxfrm(char *dest, const char *src, size_t len);

strcoll与strxfrm函数提供特定区域设置的字符串排序功能。

另外,还有一些类型转换函数,例如strtod、strtof、strtold、strtol、strtoll、strtoul、strtoull、

atof、atoi、atol、atoll等。

时间: 2024-10-08 08:50:42

C语言的字符与字符串处理函数的相关文章

C语言之字符与字符串

字符和字符串 字符是一个字母.数字.标点或其他诸如此类的符号:字符串是任何字符序列. 字符串用于存储由字母.数字.标点和其他符号组成的文本数据. C语言使用char数据类型老存储字符.char是一种整型数值类型. C语言存储字符的方式:在计算机内存中,所有的数据都是以数值方式存储的. 字符并不能直接存储,但是每个字符都有对应的数值编码. 这种编码被称为ASCII码或ASCII字符集. 在这种编码中,每个大小写字母.数字.标点和其他符号都对应于一个0~255值. <span style="f

【总结】C语言中常见的字符串处理函数

------------------------------------------------------------------------------------------- C语言中没有字符串类型,但是为了方便对字符串进行操作,提供了许多字符串处理函数.如: 输入输出字符串,字符串的拷贝,连接,比较等操作函数.值得注意的是:在使用输入输出,即gets. puts函数时应该引入头文件<stdio.h>.在使用其他操作函数时,引入头文件<string.h>.另外,在使用连 接

C语言把数字转换为字符串的函数

博主原文 C语言itoa()函数和atoi()函数详解(整数转字符C实现) C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. 1.int/float to string/array:C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明.● itoa():将整型值转换为字符串.● ltoa():将长整型值转换为字符串.● ultoa():将无符号长整型值转换为字符串.● gcvt():将浮点型

一起talk C栗子吧(第一百七十九回:C语言实例--字符和字符串输出函数二)

各位看官们,大家好,上一回中咱们说的是字符和字符串输出函数的例子,这一回咱们继续说该例子.闲 话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在上一回中介绍了字符和字符串输出函数的用法,満篇都是理论,古语云:纸上得来终觉浅,绝知此事要躬行.这一回中我们要把这些纸上得来理论应用于实践中,让我们一起动手去实践吧. 接下来,我们将通过具体的代码来说明如何使用字符输出函数,以及使用时的注意事项: int main() { char ch = 'a'; char *str = "hello

【整理】C语言中常见的字符串操作函数

需求开发中经常会用到很字符串操作的函数,现整理常用函数如下: 函数名: strcpy 功  能: 拷贝一个字符串到另一个 用  法: char *strcpy(char *destin, char *source); 示例如下: <span style="font-size:24px;">#include <stdio.h> #include <string.h> int main() { char desstr[10]; char *srcstr

C语言输入字符和字符串

C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar().getche().getch():这三个函数都用于输入单个字符. gets():获取一行数据,并作为字符串处理. scanf() 是最灵活.最复杂.最常用的输入函数, 输入单个字符 输入单个字符当然可以使用 scanf() 这个通用的输入函数,对应的格式控制符为%c,上节已经讲到了.本节我们重点讲解的是 getchar().getche(

C语言中字符型和字符串型的区别?

C语言中只有字符型类型,没有字符串型类型.字符类型用一个带符号的8位二进制编码表示,其性质与int相同,只是只有一个字节.表示字符的ASCII编码使用其中的0~127,所以要明白字符类型(char)其实是一个一字节整型,并不只用来表示字符.由于C中没有字符串类型,所以在处理字符串时是利用字符型数组来实现的,在字符型数组中一个接一个地存储字符的ASCII编码,并在最后一个字符后加一个'\0'表示这一串字符结束了,就形成所谓“字符串”.

R语言格式化数字和字符串format函数

数字和字符串可以使用 format()函数的格式化为特定样式. 语法 format()函数的基本语法是: format(x, digits, nsmall,scientific,width,justify = c("left", "right", "centre", "none")) 以下是所使用的参数的说明: x - 为向量输入 digits - 是显示总位数 nsmall - 是最小位数的小数点右边 scientific 

18 Java语言基础字符和字符串参与运算

结论 任何数据类型用+与字符串相连接都会产生新的字符串 1 public class Test1_DataTypeConversion { 2 3 public static void main(String[] args) { 4 5 System.out.println('a'+1); //结果为98 6 System.out.println((char)('a'+1)); // 结果为b 7 System.out.println("hello" + 'a' + 1); // 结果