前言:
使用字符串处理函数:
1.puts函数——输出字符串的函数
2.gets函数——输入字符串的函数
3.strcat函数——字符串连接函数
4.strcpy和strncpy函数——字符串复制函数
5.strcmp函数——字符串比较函数
6.strlen函数——测字符串长度的函数
7.strlwr函数和strupr函数——分别为转换为小写和大写的函数
总结:
在使用字符串处理函数时,应当在程序文件的开头使用
#include
把string.h文件包含到本文件中。
其一般形式为:
puts(char str[])
1.用puts函数输出的字符串中可以包含转义字符。
2.再用puts输出时将字符串结束标志'\0'转换成'\n',即输出完字符串后换行。
3.puts函数在遇到空格也会输出。
示例代码:
#include
int main()
{
char str[] = { "I Love C program" };
char str1[] = { "Hello\nworld" };
puts(str);
puts(str1);
return 0;
}
运行结果:
其一般形式为:
gets(char str[])
1.从终端输入一个字符串到字符数组,并得到一个函数值。
2.该函数值是字符数组的起始地址。
示例代码:
#include
int main()
{
char str[10];
gets(str);
puts(str);
return 0;
}
其一般形式为:
strcat(char str1[],char str2[])
1.其作用是把两个字符数组中的字符串连接起来,把字符串2连接到字符串1的后面,结果放在字符数组1中。
2.字符数组1必须足够大,以便容纳连接后的新字符串。
3.连接前两个字符串的后面都有'\0',连接时将字符串1后面的'\0'取消,只在新字符串最后保留'\0'。
示例代码:
#include
#include
int main()
{
char str1[30] = {"People's Republic of "};
char str2[] = { "China" };
printf("%s", strcat(str1, str2));
return 0;
}
运行结果:
其一般形式为:
strcpy(字符数组1,字符串2)
1.作用是将字符串2复制到字符数组1中去,并且字符数组1必须定义得足够大,以便容纳被复制的
2."字符数组1"必须写成数组名形式(如str),"字符串2"可以是字符数组名,也可以是一个字符串常量。例如:strcpy(str1,"C program");作用与前面相同。
3.不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。字符数组名是一个地址常量,它不能改变值,正如数值型数组名不能被赋值一样。
示例代码:
#include
#include
int main()
{
char str1[10];
char str2[] = { "China" };
printf("%s\n", strcpy(str1, str2));
printf("%s\n", strcpy(str1, "C program"));
return 0;
}
运行结果:
strncpy(字符数组1,字符数组2,int index)
1.作用是将字符串2中最前面index个字符复制到字符数组1中,取代字符数组1中原有的最前面index个字符。
2.复制的字符个数n不应多余字符数组1中原有的字符(不包括'\0')。
示例代码:
#include
#include
int main()
{
char str1[10] = {"loworld"};
char str2[] = { "hello" };
printf("%s\n", strncpy(str1, str2,3));
printf("%s\n", strncpy(str1, "C program",3));
return 0;
}
运行结果:
其一般形式为:
strcmp(字符串1,字符串2)
1.作用是比较字符串1和字符串2,比较的结果有函数值带回。
(1)如果字符串1与字符串2相同,则函数值为0。
(2)如果字符串1>字符串2,则函数值为一个正整数。
(3)如果字符串1<字符串2,则函数值为一个负整数。
2.字符串比较规则:将两个字符串自左向右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止。
(1)如全部字符相同,则认为两个字符串相等;
(2)若出现不相同的字符,则以第1对不相同的字符的比较结果为准。
示例代码:
#include
#include
int main()
{
char str1[10] = { "hello" };
char str2[10] = { "helle" };
if (strcmp(str1, str2)>0)
printf("str1>str2:Yes");
else
printf("str1
运行结果:
其一般形式为:
strlen(字符数组)
示例代码:
#include
#include
int main()
{
char str1[10] = { "hello" };
int size = strlen(str1);
printf("%d\n", size);
printf("%d\n", strlen("world"));
return 0;
}
运行结果:
其一般形式为:
strlwr(字符串);
strupr(字符串);
示例代码:
#include
#include
int main()
{
char str1[10] = { "HELlo" };
char str2[10] = { "WOrld" };
printf("%s\n", strlwr(str1));//转换为小写
printf("%s\n", strupr(str2));//转换为大写
return 0;
}
运行结果:
整理了一下C语言中的字符串的相关操作,以后可以方便自己复习查找,同时也希望对大家有所帮助。