各位高手,如何一次性往字符串中加入大量的"空格"内容?
题目是这样:请在"abc"和"def"这两个字符串中间加入任意个空格,组成一个字符串"abc def"(中间的空格数不是个固定值,可以随意改动,比如这次中间有1000个空格,下次变为有4000个空格)
我可以用while或for循环来往字符串中一次添加一个空格,但这样效率低下。
我尝试一次性添加一堆空格内容的方法:用char数组,里面存的都是空格,但后来发现这根本行不通,数组就是以空格/0结尾的,这数组跟别的字符串进行加运算,根本没戏。
字符串是char*还是string还是MFC的CString都无所谓,只要能实现我所说的"一次性加入大量空格"功能即可,谢谢各位!
[解决办法]
用memset 函数,将一段内存赋值空格。
已这么做,看5楼代码。
问题是,有没有其他途径。正好了解一下。
#include <iostream>
#include <string>
int main()
{
std::string a("abc"), b("def");
std::string c = a + std::string(3, ' ') + b;
std::cout << c << std::endl;
return 0;
}
std::string str;
std::string str1 = "abc";
std::string str2 = "123";
str.assign(10, ' ');//10你可以任意指定大小。
std::string strall = str1 + str + str2;