打印
[应用相关]

C 库实现 字符串的操作函数

[复制链接]
1653|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
千岁寒|  楼主 | 2018-8-20 09:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1)字符串操作
strcpy(p, p1) 复制字符串
strncpy(p, p1, n) 复制指定长度字符串
strcat(p, p1) 附加字符串
strncat(p, p1, n) 附加指定长度字符串
strlen(p) 取字符串长度
strcmp(p, p1) 比较字符串
strcasecmp忽略大小写比较字符串
strncmp(p, p1, n) 比较指定长度字符串
strchr(p, c) 在字符串中查找指定字符
strrchr(p, c) 在字符串中反向查找
strstr(p, p1) 查找字符串
strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素
strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移
strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移  
* 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符

2)字符串到数值类型的转换
strtod(p, ppend) 从字符串 p 中转换 double 类型数值,并将后续的字符串指针存储到 ppend 指向的 char* 类型存储。
strtol(p, ppend, base) 从字符串 p 中转换 long 类型整型数值,base 显式设置转换的整型进制,设置为 0 以根据特定格式判断所用进制,0x, 0X 前缀以解释为十六进制格式整型,0    前缀以解释为八进制格式整型
atoi(p) 字符串转换到 int 整型
atof(p) 字符串转换到 double 符点数
atol(p) 字符串转换到 long 整型

3)字符检查
isalpha() 检查是否为字母字符
isupper() 检查是否为大写字母字符
islower() 检查是否为小写字母字符
isdigit() 检查是否为数字
isxdigit() 检查是否为十六进制数字表示的有效字符
isspace() 检查是否为空格类型字符
iscntrl() 检查是否为控制字符
ispunct() 检查是否为标点符号
isalnum() 检查是否为字母和数字
isprint() 检查是否是可打印字符
isgraph() 检查是否是图形字符,等效于 isalnum() | ispunct()
沙发
磨砂| | 2018-8-20 10:20 | 只看该作者
楼主这个好 建议弄一个爬楼的 知识点

使用特权

评论回复
板凳
八层楼| | 2018-8-20 10:47 | 只看该作者
本帖最后由 八层楼 于 2018-8-20 10:51 编辑

支持沙发的提议 稍后我也爬一层

使用特权

评论回复
地板
八层楼| | 2018-8-20 10:52 | 只看该作者
对比数组内容的函数建议使用strcmp。
函数原型 int strcmp(const char *s1,const char *s2);
strcmp函数,比较两个字符串:设这两个字符串为str1,str2,
若str1==str2,则返回零;
若str1>str2,则返回正数;
若str1<str2,则返回负数。
实例:
#include <stdio.h>
#include <string.h>
int main()
{
    char string[20];
    char str[3][20];
    int i;
    for(i=0;i<3;i++)
        gets(str[i]);
    if(strcmp(str[0],str[1])>0)
        strcpy(string,str[0]);
    else
        strcpy(string,str[1]);
    if(strcmp(str[2],string)>0)
        strcpy(string,str[2]);
    printf("\nThe largest string is%s\n",string);
    return0;
}

使用特权

评论回复
5
观海| | 2018-8-20 10:57 | 只看该作者
我也支持下
1.指针运算符

(1)取地址运算符&
   取地址运算符&是单目运算符,其结合性为自右至左,其功能是取变量的地址。在scanf函数及前面介绍指针变量赋值中,我们已经了解并使用了&运算符。

(2)取内容运算符*
   取内容运算符*是单目运算符,其结合性为自右至左,用来表示指针变量所指的变量。在*运算符之后跟的变量必须是指针变量。需要注意的是指针运算符*和指针变量说明中的指针说明符* 不是一回事。在指针变量说明中,“*”是类型说明符,表示其后的变量是指针类型。而表达式中出现的“*”则是一个运算符用以表示指针变量所指的变量。
main(){
int a=5,*p=&a;
printf ("%d",*p);
}
......
表示指针变量p取得了整型变量a的地址。本语句表示输出变量a的值。

使用特权

评论回复
6
labasi| | 2018-8-20 12:04 | 只看该作者
二楼的建议好 但是需要一个整理的

使用特权

评论回复
7
wowu| | 2018-8-20 12:22 | 只看该作者
每个都详细介绍就更好了

使用特权

评论回复
8
xiaoqizi| | 2018-8-20 12:40 | 只看该作者
直接找百度啊

使用特权

评论回复
9
天灵灵地灵灵| | 2018-8-20 14:49 | 只看该作者
这个在字符串操作识别上非常用的到。

使用特权

评论回复
10
guanjiaer| | 2018-8-21 09:29 | 只看该作者
是的 我们在写代码的时候常常都要用到的

使用特权

评论回复
11
fswyt| | 2018-8-21 09:45 | 只看该作者
不错不错,将各个函数集中起来方便以后查询使用

使用特权

评论回复
12
burgessmaggie| | 2022-12-5 21:08 | 只看该作者
C语言 如何实现在字符串的内部增加字符串

使用特权

评论回复
13
MessageRing| | 2022-12-6 13:40 | 只看该作者
字符串操作非常常用

使用特权

评论回复
14
Bowclad| | 2022-12-6 18:38 | 只看该作者
详细介绍就更好了

使用特权

评论回复
15
Undshing| | 2022-12-6 19:10 | 只看该作者
这个字符串操作非常常用

使用特权

评论回复
16
bestwell| | 2022-12-10 08:07 | 只看该作者
c语言中怎么从字符串中取字符               

使用特权

评论回复
17
timfordlare| | 2022-12-12 17:16 | 只看该作者
C语言中对字符串进行操作的标准库函数有哪些

使用特权

评论回复
18
olivem55arlowe| | 2022-12-12 20:43 | 只看该作者
标准字符串库的strcmp函数呢?

使用特权

评论回复
19
zerorobert| | 2022-12-18 11:46 | 只看该作者
C语言库函数有将数字转字符串的函数吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

244

帖子

4

粉丝