所以我只想将整数转换为数字并将其存储在数组中
例如
int n=456;
std::string nstr = std::to_string(n);
std::cout << nstr[0];
现在我只想要nstr
的长度...
每当我使用std::strlen(nstr)
时;
它给出一个错误
**error: cannot convert 'std::__cxx11::string' {aka 'std::__cxx11::basic_string<char>'} to 'const char*'**
请告诉我如何将std::__cxx11::string
转换为std::string
或者有没有其他方法来计算nstr
的长度
热将 std::__cxx11:::字符串转换为 std::string
std::__cxx11::string
是您使用的标准库实现中的std::string
(名称(。
std::string
不能传递给std::strlen
,因为它需要const char*
参数,如错误消息中所述。
或者有没有其他方法可以计算 NSTR 的长度
通常,应使用size
成员函数。但是不涉及计算。大小是在创建字符串时计算的,然后存储在字符串对象中。
如果你真的,真的,真的想使用strlen()
,你必须转换为char*
:
std::strlen(nstr.c_str());
但通常你只会问字符串的大小:
nstr.size();
我能想到您可能更喜欢strlen()
的唯一原因是,如果您的字符串中嵌入了 null,并且您想在那里停止计数。