gpt4 book ai didi

c++ - 如何识别带有 char 指针的字符串?

转载 作者:行者123 更新时间:2023-12-01 23:08:44 24 4
gpt4 key购买 nike

我正在通过书本学习 C++,但我已经熟悉使用 C# 和 Python 进行编程。我了解如何创建一个 char 指针并增加内存地址以获取字符串的更多部分(字符),但是如何像下面的代码一样仅通过指向字符串第一个字符的指针来获取字符串的长度?

任何见解都会有所帮助!

String::String(const char * const pString)
{
Length = strlen(pString)
}

最佳答案

此行为在 std::strlen 的文档中进行了解释

std::size_t std::strlen(const char* str);

Returns the length of the given byte string, that is, the number of characters in a character array whose first element is pointed to by str up to and not including the first null character. The behavior is undefined if there is no null character in the character array pointed to by str.

所以它会计算字符数,但不包括 '\0' 字符。如果在字符数组的分配范围内没有遇到此字符,则行为未定义,并且在实践中可能会导致读取超出数组范围。请注意,字符串文字将隐式包含空终止符,换句话说:

"hello" -> {'h', 'e', 'l', 'l', 'o', '\0'};

关于c++ - 如何识别带有 char 指针的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70305888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com