字符串处理函数2
思维导图

字符串处理函数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中的指针, 都没找到返回0strstr(char* strSource, char* strFind)在strSource中查找strFind, 找到后返回找到的strFind的首字母在strSource中的地址, 没找到返回0atoi字符串转换为整数, 只将参数中是可转换的数字进行转换. 无法转换返回0.
如果是 atoi("12345abc1234"); 转换结果为 12345
atof字符串转换为浮点数, 只将参数中是可转换的数字进行转换, 同atoiatol字符串转换为长整数, 只将参数中是可转换的数字进行转换, 同atoistrtol字符串转换为 unsigned long 数, 可进行控制, 可知道当前转换至字符串的位置举例:
char* pIndex = NULL; strtol("12345abc1234", &pIndex, 0); // 最后的参数为进制, 范围为0--36, 0代表10进制, 同参数10
在以上语句中, 第一次转换, 返回 12345, pIndex指向 a 的位置.
strtod字符串转换为 double, 同strtolsprintf字符串格式化
作业
1. 编写一个函数, 参数为获取字符个数, 传入的字符串, 并将获取到的字符存储在外部传入的字符串中, 使用printf输出结果.
2. 将函数 strchr, strrchr, strstr 函数的功能实现一次.
3. 编写一个程序, 实现字符串反转.
4. 要求用户输入一个简单公式(10+3), 两位数加法, 根据公式计算值. 如有错误,请提出指正!谢谢.
本文由 花心胡萝卜 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: 2016-10-10 at 07:57 am