C++ 如何更改字符串的长度
创建字符串时,字符串的长度是否为常量 如何更改字符串的长度 我只知道C++ 如何更改字符串的长度,c++,string,C++,String,创建字符串时,字符串的长度是否为常量 如何更改字符串的长度 我只知道s.length()返回字符串的长度,但不知道如何更改它 多谢各位 创建字符串时,字符串的长度是否为常量 否,std::string类用于动态管理底层char数组占用的内存(从而更改其长度) “如何更改字符串的长度?” 有很多方法可以更改std::string实例的length()值。例如函数。您可以使用方法resize,该方法对于类std::string 比如说 std::string s( "Hello" ); s.res
s.length()
返回字符串的长度,但不知道如何更改它
多谢各位
创建字符串时,字符串的长度是否为常量
否,std::string
类用于动态管理底层char
数组占用的内存(从而更改其长度)
“如何更改字符串的长度?”
有很多方法可以更改
std::string
实例的length()
值。例如函数。您可以使用方法resize
,该方法对于类std::string
比如说
std::string s( "Hello" );
s.resize( 10 );
std::string s( "Hello" );
s.append( 10 - s.size(), char() );
const std::string s( "Hello" );
在这种情况下,字符串将附加零('\0')。
或
在本例中,字符串附加空格
也可以使用方法append。比如说
std::string s( "Hello" );
s.resize( 10 );
std::string s( "Hello" );
s.append( 10 - s.size(), char() );
const std::string s( "Hello" );
或
这些代码段与前面的代码段等效
考虑到如果您要创建一个常量字符串,那么它的长度实际上是常量。:)例如
std::string s( "Hello" );
s.resize( 10 );
std::string s( "Hello" );
s.append( 10 - s.size(), char() );
const std::string s( "Hello" );
字符串的长度是5
如果你是字符数组,那么在C++中,你不能改变它们的长度,因为它们应该是常量表达式。尽管有些编译器有一些语言扩展
在C语言中,可以使用可变长度数组。什么是“更改”意思?你想切掉什么还是插入什么?(你可以同时做这两件事。)你问题的表述不清楚。您想更改字符串的长度是出于什么目的?为什么要更改字符串的长度?查找并阅读它。你不能期望每次都问StackOverflow关于你正在使用的工具的一个非常非常基本的问题。@ravi“你为什么要更改字符串的长度”。的确,他有这种煽动性的想法是非常可疑的!:)聪明的回答…但在OP证明这样做的理由之前,这是无关紧要的。@ravi更改字符串长度的理由很多。OP不必证明任何内容。@CaptainObvlious如果OP想通过删除字符串开头的字符来更改长度,该怎么办。这是否考虑到了…@ravi我投票结束这个问题,因为“不清楚你在问什么”。如果您认为问题不清楚,请向下投票/标记/关闭投票或回答。你有足够的代表这样做。。。