strcmp、strcpy、strcat的使用
来源:互联网 发布:闻道软件 编辑:程序博客网 时间:2024/06/15 14:03
博客内容来源:网络、书籍和自己整理补充
int strcmp(const char *string1, const char *string2);
功能:比较字符串string1和string2大小
返回值<0,string1 < string2;
返回值=0,string1 = string2;
返回值>0,string1 > string2;
char *strcpy(char *strDestination, const char*strSource);
功能:复制源串strSource到目标串strDestination,包含NULL结束符,不处理源串和目标串重叠情况,返回strDestination值
和memcpy的区别:(void *memcpy(void *dest, const void *src, size_t count));
1、复制内容不同。strcpy只复制字符串,而memcpy可以复制任何类型的内容,比如字符数组、整型、结构体、类等
2、复制方法不同。strcpy不需要指定长度,遇到'\0'自动结束,所以容易溢出,而memcpy则根据第3个参数决定复制的长度
3、用途不同。复制字符串用strcpy,复制其他类型数据用memcpy
如果源串长度大于目标串长度,会出现什么情况?
#include <stdio.h>
#include <malloc.h>
#include <string.h>
int main()
{
char src[8] = "abcdefg";//包括'\0'
char *dest = (char *)malloc(sizeof(char) * 2);
printf("dest = %s\n",strcpy(dest, src));
return 0;
}
输出结果:
傻眼了,结果竟然正确的被输出了,而且还没有错误提示。。。(编译器:codeblocks)
但是讲道理会有bufferOverFlow风险,会破坏内存,不同的编译器的编译结果不一样。
char *strcat(char *strDestination, const char*strSource);
功能:将源串strSource的字符添加到strDestination后面,并在得到的新串后面加上NULL结束符
希望能对大家有帮助!谢谢阅读!
- strcmp、strcpy、strcat的使用
- 字符串函数的使用...strcat...puts...gets...strlen...strcmp...strcpy
- strcpy(),strcat(),strlen(),strcmp(),strstr(),strchr()等函数的使用。
- strcpy,strcat和strcmp的实现源代码
- strcpy,strcat和strcmp的实现源代码
- strcpy, strcmp, strcat, strstr, strlen的实现
- strlen/strcmp/strcat/strcpy的实现
- strlen,strcpy,strcat,strcmp函数的实现
- strcmp、strcat、strcpy、strncpy函数的实现
- strcpy,strcat,strstr,strcmp,memmove的实现
- 库函数strcpy,strcat,strcmp,shrlen的实现
- strcat strcpy strcmp strlen
- strcat strcpy strcmp
- strcpy strcmp strcat
- strcmp() strcpy()strcat()代码
- strcpy(),strcat(),strcmp()
- strlen,strcpy,strcat,strstr,strcmp,strchr函数的使用和注意事项
- c函数strcpy() ,strcat(),strcmp(), strlen(), strchr() ,strstr() 使用整理
- iOS开发之<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0”/>
- Thinkphp 登录以及注册的自动验证
- laravel 操作日志;
- Java类加载双亲委托模式优点
- hdu1864 最大报销额 01背包 TWT tokyo Olympic 1combo-1
- strcmp、strcpy、strcat的使用
- c++ STL 常用容器元素类型相关限制 指针 引用
- android客户端从服务器端获取json数据并解析的实现代码
- JAVA异常-RuntimeException
- 解决安卓动画setFillAfter无效的问题
- volley使用简介
- 5.11
- 客户机操作系统已禁用 CPU。请关闭或重置虚拟机。
- 简单高效的web服务器测试工具Artillery(websocket http)