gpt4 book ai didi

c++ - 无法将字符串转换为 const char

转载 作者:太空狗 更新时间:2023-10-29 20:28:51 25 4
gpt4 key购买 nike

我有这个函数,编译器对我大喊“无法将字符串转换为常量字符”。

void 
DramaticLetters(string s, short TimeLength)
{
for(int i = 0, sLen = strlen(s); i < sLen; i++){
cout << s[i];
Sleep(TimeLength);
}
}

我觉得strlen有问题

最佳答案

strlen() 用于 C const char* 字符串。要获取字符串 s 的长度,请使用 s.size()s.length()。如果要从 string 获取 C 字符串,请使用 s.c_str()

虽然 C++ 使 似乎 const char*string 可以互换,但在转换 const char 时只有一种方式*string

您也没有理由要使用 strlenstrlen 很可能是用循环定义的,它永远不会像 size() 那样高效,后者最有可能只是 的 length 属性的 getter字符串类。仅在调用没有 C++ 替代项的 C 函数时将 string 转换为 C 字符串。

关于c++ - 无法将字符串转换为 const char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11970803/

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