是否有可能制作一个指针,比如第三个元素NUL(' \ 0'),之后"擦除"指针剩下的元素?
答案 0 :(得分:3)
假设你在谈论C风格的字符串,那么是的,有点:
char s[] = "abcdefgh"; // s = "abcdefgh"
// (actually contains 9 characters: "abcdefgh\0")
s[3] = '\0'; // s = "abc"
// (still contains 9 characters, but now: "abc\0efgh\0")
请注意,s[3]
以外的字符此时并未神奇地消失 - 只是显示字符串,或将其传递给任何采用C风格字符串的函数,导致字符串仅显示为包含三个字符。你仍然可以这样做。
s[3] = 'x'; // s = "abcxefgh"
// (still contains 9 characters, but now: "abcxefgh\0")