C 可指定长度的字符串函数
来源:互联网 发布:陈振濂的书法 知乎 编辑:程序博客网 时间:2024/05/04 02:25
C 可指定长度的字符串函数
头文件
string.h
函数原型
char *strncpy(char *dst, char const *src, size_t len);char *strncat(char *dst, char const *src, size_t len);int strcmp(const char *s1, const char *s2, size_t len);
后面len可指定函数需要处理src中多长的子串。
注意事项
注意strncpy这个函数:
- 如果指定长>源长,则将源长全部拷贝到目标长,自动加上’\0’
- 如果指定长<源长,则将源长中按指定长度拷贝到目标字符串,不包括’\0’
- 如果指定长>目标长,error happen!
也就是说,此函数不保证复制过去的字符串以’\0’结束。这会导致未定义的行为。看代码:
/*** OS: win7* IDE: DEV C++ 4.9.9.2**/#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char string[2]; strncpy(string,"123",1); printf("%d\n", strlen(string)); // 5 return EXIT_SUCCESS;}
可见,系统因字符串结尾丢失’\0’而无法准确的统计出字符串的长度。这里有个建议的写法,可有有效防止范围溢出以及丢失’\0’的发生:
char buffer[BUFFER_SIZE];...strncpy(buffer, name, BUFFER_SIZE);buffer[BUFFER_SIZE - 1] = '\0';
0 0
- C 可指定长度的字符串函数
- oracle 生成指定长度字符串的函数
- php可包含混合字符串长度的截取函数
- String函数:返回指定长度重复字符组成的字符串
- mysql 自定义sql函数生成指定长度的随机字符串
- C基础/指定长度的字符串排列问题
- 截断指定长度的字符串
- 指定长度的随机字符串
- 显示字符串的指定长度
- 指定字符串长度的复制
- 取指定字符串的指定长度
- 生成指定长度随机字符串函数
- C语言截取指定长度字符串
- C语言生成指定长度随机字符串
- 函数对象的应用:在指定的文件中显示指定长度的字符串
- 截取指定长度的字符串,超过指定长度的加...
- 指定长度的strstr函数
- Linux C编程——在指定位置输入指定长度的字符串
- ViewPager进行抽取,对外直接使用
- KNN分类算法详解
- jquery中clientY,pageY和screenY的区别 最后三张图一目了然。转载的
- android webview填漏洞
- java命名规范
- C 可指定长度的字符串函数
- css3动画-transform属性
- Varnish 4.0.3详细配置
- device tree 实例
- Starter POMs详解
- selectIve search for object recognize
- linux 安装FastDFS实现分布式文件服务器
- C位运算分析及进制转换
- java实现归并排序