C语言 字符串处理相关函数大汇总之(16~20)
16,strlwr 函数,将字符串中的大写字母转换为小写字母。
它位于?<string.h>
?头文件中。
函数原型如下:
char *strlwr(char *str);
参数:
str
:要转换的字符串。
返回值:
- 返回指向转换后的字符串的指针。
示例:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "HELLO WORLD";
printf("Before: %s\n", str);
strlwr(str);
printf("After: %s\n", str);
return 0;
}
输出:
Before: HELLO WORLD
After: hello world
在上面的示例中,strlwr
?函数将字符串?str
?中的所有大写字母转换为小写字母。
17,strupr 函数,将字符串中的小写字母转换为大写字母。
它位于?<string.h>
?头文件中。
函数原型如下:
char *strupr(char *str);
参数:
str
:要转换的字符串。
返回值:
- 返回指向转换后的字符串的指针。
示例:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello world";
printf("Before: %s\n", str);
strupr(str);
printf("After: %s\n", str);
return 0;
}
输出:
Before: hello world
After: HELLO WORLD
在上面的示例中,strupr
?函数将字符串?str
?中的所有小写字母转换为大写字母。
18,puts函数, 将一个字符串输出到终端。
这个函数的原型定义在头文件?<stdio.h>
?中。
函数原型:
int puts(const char *str);
参数:
str
:要输出的字符串。
返回值:
- 如果成功,返回一个非负值。
- 如果失败,返回 EOF(定义在?
<stdio.h>
?中,通常为 -1)。
使用?puts
?函数可以非常方便地输出一个字符串,而不需要使用?printf
?函数来指定格式和类型。下面是一个简单的示例:
#include <stdio.h>
int main() {
puts("Hello, world!");
return 0;
}
????????运行这个程序会在终端上输出 "Hello, world!"。注意,puts
?函数在输出字符串后会添加一个换行符('\n'),所以输出后会自动换行。
19,gets 函数,从终端输入一个字符串到字符数组,并且得到一个函数值。
这个函数的原型定义在头文件?<stdio.h>
?中。
函数原型:
char *gets(char *str);
参数:
str
:要存储输入字符串的字符数组。
返回值:
- 如果成功,返回输入字符串的指针(即指向?
str
?的指针)。 - 如果失败或遇到 EOF(End-Of-File),返回 NULL。
需要注意的是,gets
?函数存在安全问题,因为它不会检查输入的长度,可能会导致缓冲区溢出。因此,在实际编程中,建议使用更安全的函数,如?fgets
。下面是一个使用?gets
?函数的示例:
#include <stdio.h>
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str);
printf("你输入的字符串是:%s\n", str);
return 0;
}
????????运行这个程序会提示用户输入一个字符串,并将输入的字符串存储在?str
?数组中,然后输出该字符串。
20,strlen函数 ,测试字符串长度的函数不包括“\0”。
这个函数的原型定义在头文件?<string.h>
?中。
函数原型:
size_t strlen(const char *str);
参数:
str
:要计算长度的字符串。
返回值:
- 返回字符串的长度(以字节为单位)。
下面是一个使用?strlen
?函数的示例:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
printf("字符串长度为:%zu\n", strlen(str));
return 0;
}
????????运行这个程序会输出 "字符串长度为:13",因为 "Hello, world!" 包含 13 个字符(不包括终止字符 '\0')。
至此,C语言 字符串处理相关函数基本写完。懂了这20个函数的用法,基本是够了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!