因为总是见到C字符串长度相关的错误, 所有定个规范出来, 有利于减少错误.
关键在于C字符串有个结尾0, 处理时需要注意.
定义字符串长度有两种方式, 一种是用字符串的大小, 一种是字符串的长度.
字符串的大小即内存空间的大小, 而串长度加1才是所需空间.
正确:
char str[MAX_SIZE];
char str[MAX_LEN + 1];
错误:
char str[MAX_SIZE + 1];
char str[MAX_LEN];
如strncpy()之类的函数处理字符串时, 如果要省略结尾0时, 应如下:
strncpy(dst, src, MAX_LEN);
或
strncpy(dst, src, MAX_SIZE - 1);
C字符串长度定义规范
原创
©著作权归作者所有:来自51CTO博客作者wx648abf25141f7的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:什么是好的设计
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【C语言加油站】详细解读字符函数与字符串函数
【C语言加油站】字符函数与字符串函数详细介绍字符函数与字符串函数的相关知识点……
C语言 字符串 字符函数 字符串函数