首页 > 编程知识 正文

c++字符串处理函数,c#字符串处理函数

时间:2023-05-06 06:07:07 阅读:220962 作者:1536

目录 1、字符数组的输入和输出:scanf(格式控制,地址表列(在变量前加上取地址符&))和printf(格式控制,输出表列)gets(字符数组)和puts(字符数组)注意: 2、字符串连接函数:strcat(字符数组1,字符数组2)注意: 3、字符串复制函数:strcpy(字符数组1,字符数串2或者字符数组名)strncpy(字符数组1,字符串2或者字符数组名,n)注意: 4、字符串比较函数:strcmp(字符串1或者字符数组,字符数串2或者字符数组)注意: 5、字符串长度函数:strlen(字符串或者字符数组)注意: 6、字符串转换大小写函数:大写转小写:strlwr(字符数组)小写转大写:strupr(字符数组)

C语言没有字符串类型,字符串被存放在字符型数组中。C语言规定了一个字符串结束标志,以字符’’作为结束符。字符串处理函数包含在<string.h>头文件中,常见的处理字符数组有:

1、字符数组的输入和输出: scanf(格式控制,地址表列(在变量前加上取地址符&)) 和printf(格式控制,输出表列) gets(字符数组)和puts(字符数组) int main(){char str[5]; //第一种方法: scanf_s("%s", str,5); //scanf_s(格式控制用%s,字符数组名(地址就是字符数组名),缓冲区的大小(表示最多读取5-1个字符))printf("%sn", str);//第二种方法:gets_s(str, 5); //get_s(字符数组名,缓冲区的大小)puts(str);return 0;} 注意:

两者区别:gets()和puts()函数只能输入和输出一个字符串,不可输出多个,而scanf()和printf()可输入输出多个。如puts(str1,str2);是错误的写法。

2、字符串连接函数: strcat(字符数组1,字符数组2) int main(void){char str1[15] = "hello"; //字符数组1char str2[6] = "world"; //字符数组2strcat_s(str1, str2);printf("%sn",str1);return 0;} 注意:

1、字符串2连接到字符串1的后面,将连接后的结果放在字符数组1中,最后得到字符数组1的地址;

2、两个字符串后面均有结束符’’,在连接时字符串1后面的结束符会被取消,只在新串最后保留结束符。

3、字符串复制函数: strcpy(字符数组1,字符数串2或者字符数组名) strncpy(字符数组1,字符串2或者字符数组名,n) int main(void){char str1[15];char str2[6] = "world";strcpy_s(str1, str2);//将str2字符数组复制到str1中,str1的容量必须比str2大printf("%sn",str1);strncpy_s(str1, str2, 3);//将前3个字符复制到str1中puts(str1);return 0;}

注意:

1、若开始没有对字符数组1进行初始化或者复制,str1中的内容是无法预知的,复制时str2将内容和结束符一起复制到str1中,而此时str1字符数组结束符后面的剩余空间的字节内容不一定是’’;

2、不能用赋值语句将字符串常量或者字符数组直接赋值给字符数组,如str1=“world”;这写法是错误的,必须要用strcpy()函数,用赋值语句将一个字符赋值给字符型变量或者字符数组是可以的。

4、字符串比较函数: strcmp(字符串1或者字符数组,字符数串2或者字符数组) int main(void){char str1[15]="hello";char str2[6] = "world";printf("%dn",strcmp(str1,str2));return 0;}

注意:

1、两个字符串从左到右按照 ACSII 码值大小比较,直到出现不同的字符或者遇到’’为止;

2、若出现不相同的字符,则以第一对不相同的字符的比较结果为准;

3、字符串1等于字符串2,函数值为0,字符串1大于字符串2,函数值为正整数,字符串1小于字符串2,函数值为负整数;

4、两个字符串不能直接用str1>str2这种方式比较,必须用strcmp()函数。

5、字符串长度函数: strlen(字符串或者字符数组) int main(void){char str[15]="hello";printf("%dn",strlen(str));return 0;}

注意:

1、strlen()函数在测试字符串长度时不包括结束符;

2、为了测试字符串的实际长度,C语言规定了一个字符串结束标志,以字符’’作为结束标志,因此上述程序中虽然字符数组大小为15,但是程序运行结果为5,因为碰到’’自动结束。

6、字符串转换大小写函数: 大写转小写:strlwr(字符数组) 小写转大写:strupr(字符数组) int main(void){char str[15] = "Hello";_strlwr_s(str,6);//第一个参数传一个char类型的指针,可以传一个数组,第二个参数传入strlen(str) + 1puts(str);_strupr_s(str, 6);printf("%sn",str);return 0;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。