微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何空终止字符串?

如何解决如何空终止字符串?

当我在多个网站上读到时,空终止字符是一个字符,即大小为 1 个字节。

我访问了这个网站:http://string-functions.com/string-hex.aspx

并将 Hi 转换为 hexa 并得到:48 69

然后我想空终止我的字符串,所以我写道:

Hi\0 并得到:48 69 5c 30

如您所见,添加了 2 个字节而不是 1 个,这是为什么?

值得一提的是,对于换行符 \n 也是如此。

解决方法

\0 在 C 语言中只是一个转义的 NUL 字符,其中 \nnn 表示一个字节,在八进制数系统中保存值 nnn

当您在网站上执行 Hi\0 时,它没有关于 C 或任何一般语言的语法或内在的概念。它将所有字符视为它们本来的样子,单独的字节(包括 \0,因为它们毕竟是字符。)

'H'       'i'        '\\'      '0'
0x48 (72) 0x69 (105) 0x5c (92) 0x30 (48)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。