我之前上 stackoverflow 查证过字符串的结尾是'0'-terminate啊, 如下引用. 但是今天查 string 的, 上面图片里的官方文档的说法又都变成了 null-terminated 了. 希望大家解答下, 谢谢
null-terminated
‘0’ terminate a string, not NULL, the NULL macro isn’t intended for use in terminating strings.----(左边包含了链接)
认证0级讲师
如果是char*的字串,函式庫函數都是預設以'
#include <string> #include <iostream> int main() { std::string s = "hello"; s[1] = 'rrreee'; std::cout << s << std::endl; return 0; }
所謂 null-terminated 中的 null 指的應該是 ASCII 字元集裡的 NUL,其編碼是數字 0,在 C 語言裡是 '
null
NUL
'
如果是char*的字串,函式庫函數都是預設以'
輸出:h llo
所謂
null-terminated
中的null
指的應該是 ASCII 字元集裡的NUL
,其編碼是數字 0,在 C 語言裡是'