c语言 字符串函数
来源:互联网 发布:js实战案例 编辑:程序博客网 时间:2024/04/28 10:21
c语言中的字符串函数
主要是两大类,一类是拷贝的,一类是比较的,另一个就是其他的
拷贝的有:
1. strcpy
函数原型
char *strcpy( char *strDestination, const char *strSource );
函数功能
将strSource的内容拷贝到strDestination中去,包括' \0'
返回值
返回strDestination的内容
特点
strSource和strDestination的内存区域可能重叠,没有定义
没有检查strDestination的大小是否够
2 strcpy_s
函数原型
errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource );
函数功能
将strSource的内容拷贝到strDestination中去,包括' \0'
返回值
成功返回0
特点
strSource和strDestination的内存区域可能重叠,没有定义
检查了strDestination的大小
3 memset
函数原型
void *memset( void* dest, intc, size_tcount);
函数功能
将count个c 赋值到dest里面去,经常用于将字符串清零。
返回值
dest
4 memcpy
函数原型
void *memcpy( void* dest, const void*src, size_tcount);
函数功能
将count个字符从src中拷贝到dest中
返回值
dest
特点
不能处理src和dest有内存重叠的情况(overlapping regions)
代码原型
char* m_memcpy(char* dest, const char* src, int n){ char* p=dest;while (n) { if (*src!='\0') *p=*src; src++; p++; n--; } *p='\0'; return dest;}
5 memmove
函数原型
void *memmove( void* dest, const void*src, size_tcount);
函数功能
将count个字符从src中拷贝到dest中
返回值
dest
特点
可以处理src和dest有内存重叠的情况(overlapping regions)
处理的方式就是判断有没有重叠的部分,有的话就从后往前拷贝
代码原型
char* m_memmove(char* dest, const char* src, int n){ char* p=dest;if (src+n>p && src<p ) //有重叠for(int i=1;i<n+1;i++)*(p+n-i)=*(src+n-i);else //没有重叠{while (n){*p=*src;src++;p++;n--;}}return dest;}
字符串比较函数
1 strcmp
函数原型
int strcmp( const char *string1,const char *string2);
特点
不忽略大小写
2 strncmp
函数原型
int strncmp( const char *string1,const char *string2,size_tcount );
特点
不忽略大小写
3 memcmp
函数原型
int memcmp( const void* buf1, const void*buf2, size_tcount);
特点
同strncmp差不多,但是具体的差别还需要进一步研究呀
int r = strncmp("1234","1234",7); //字符串为0退出,循环4次
int r2 = memcmp("1234","1234",7); //循环7次或者遇到不相等的时候退出。所以当比较的数大于字符串长度时候,不安全啊。
也可以理解,strncmp是字符串比较,所以可以用\0来判断,但是void*的就不好判断了。
4 strnicmp
函数原型
int strnicmp( const char *string1, const char *string2, size_t count );
特点
不区分大小写的比较
- C语言字符串函数
- C语言字符串函数
- C语言字符串函数
- C语言字符串函数
- C语言字符串函数
- C语言字符串函数
- c语言 字符串函数
- C语言字符串函数
- c语言字符串函数
- C语言字符串函数
- c语言字符串函数
- C语言字符串函数
- C语言字符串函数
- c语言字符串函数
- c语言字符串函数
- C语言字符串函数
- C语言-----字符串函数
- C语言字符串函数
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- lower_bound
- 检测iphone是否有网络
- max
- max_element
- c语言 字符串函数
- 为什么需要做好输入数据的异常检验
- 工作日志2011-10-13
- Oracle删除不完全导致安装时检测不通过而无法安装的解决办法
- MSSQL Server 建立链接数据库
- 男人做这5件事 证明他真的爱你
- NSLog 输出格式
- Knowing+NTLM
- ASP.NET将EXCEL导入SQL+SERVER数据库的代码