当前位置:  开发笔记 > 编程语言 > 正文

strlen()在非空终止的char字符串上?

如何解决《strlen()在非空终止的char字符串上?》经验,为你挑选了3个好方法。

是否strlen(const char *s)s未终止时定义,如果是,它返回什么?



1> Hosam Aly..:

不,它没有定义.它可能导致内存访问冲突,因为它将一直计数,直到它到达值为0的第一个内存字节.


它也可能导致恶魔飞出你的鼻子.http://catb.org/jargon/html/N/nasal-demons.html
这解释了我痛苦的鼻孔.

2> MSN..:

从C99标准:

strlen的函数返回之前终止空字符的字符数.

如果没有空字符,则表示结果未定义.



3> vitaly.v.ch..:

可能你需要strnlen?


不幸的是,这不是标准C的一部分.
推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有