Lesson25 PoEdu培训第二课 C语言篇(17) 字符串处理函数2
文章类别: 培训笔记 0 评论

Lesson25 PoEdu培训第二课 C语言篇(17) 字符串处理函数2

文章类别: 培训笔记 0 评论

字符串处理函数2

思维导图

Alt 前置代码

字符串处理函数2

string.h中, 由编译器帮我们实现字符串的函数.
strlen(char*) 返回不包括结束符的字符串的长度(size_t)
strcat(char* strDist, char* strSource) 字符串拼接, 将strSource拼接进入strDist, 会造成缓冲区溢出
strncat(char* strDist, char* strSource, size_t szSize) 字符串拼接, 拼接指定szSize长度的字符串.
strcmp(char* str1, char* str2) 字符串比较, 相同返回0, 否则返回非0.
strncmp(char* str1, char* str2, size_t szSize) 指定长度比较字符串, 注意, 参数szSize指定的是str2的比较长度
strcpy 字符串拷贝, 会造成缓冲区溢出.
strncpy 指定长度拷贝字符串
strchr(char* str, char ch) 从字符串首地址查找一个字符, 找不到返回0, 找到返回该字符在str中的指针
strrchr(char* str, char ch) 从字符串末尾开始查找一个字符, 找不到返回0, 找到返回该字符在str中的指针
strpbrk(char* strSource, char* strFindAny) 在strSource中查找任意一个strFindAny中的字符, 返回值为查找到的字符在strSource中的指针, 都没找到返回0
strstr(char* strSource, char* strFind) 在strSource中查找strFind, 找到后返回找到的strFind的首字母在strSource中的地址, 没找到返回0
atoi 字符串转换为整数, 只将参数中是可转换的数字进行转换. 无法转换返回0.

如果是 atoi("12345abc1234"); 转换结果为 12345

atof 字符串转换为浮点数, 只将参数中是可转换的数字进行转换, 同atoi
atol 字符串转换为长整数, 只将参数中是可转换的数字进行转换, 同atoi
strtol 字符串转换为 unsigned long 数, 可进行控制, 可知道当前转换至字符串的位置

举例:
char* pIndex = NULL; strtol("12345abc1234", &pIndex, 0); // 最后的参数为进制, 范围为0--36, 0代表10进制, 同参数10
在以上语句中, 第一次转换, 返回 12345, pIndex指向 a 的位置.

strtod 字符串转换为 double, 同strtol
sprintf 字符串格式化

作业

1. 编写一个函数, 参数为获取字符个数, 传入的字符串, 并将获取到的字符存储在外部传入的字符串中, 使用printf输出结果.
2. 将函数 strchr, strrchr, strstr 函数的功能实现一次.
3. 编写一个程序, 实现字符串反转.
4. 要求用户输入一个简单公式(10+3), 两位数加法, 根据公式计算值. 

如有错误,请提出指正!谢谢.

回复