c++关于string类replace的疑问
发布网友
发布时间:2022-05-26 08:21
我来回答
共2个回答
热心网友
时间:2023-10-09 11:01
此replace函数将调用basic _ string& replace( size _ type _Pos1 , size _ type _Num1 , size _ type _Count , value _ type _Ch );
意思为用 _Count 个character _Ch , 代替操作string 中从 _Pos1 开始的 _Num1 个字符
所以对于str= "asdf asdf"中将从空格处的字符(第5个位置)开始,用4个'x'替换后面的8个字符。
显然这个'.'号也位于被替换之列。
可能会问,后面都没有8个字符了,不会报错?事实上,string类似于一个容器,虽然其size表示所存的字符长度,但其capacity会大于size,所以说'.'后并不是'\0'之类的。所以这里才行替换成功。
替换后输出"asdf xxxx"。
热心网友
时间:2023-10-09 11:01
没有的不只是那个点吧?