std:string能否在初始化以后复制指定长度的字符串
std::string可不可以在初始化以后复制指定长度的字符串
代码1
include <string>
#include <iostream>
int main()
{
char a[20] = "abc";
a[4] = 50;
std::string str1(a,5);
std::cout<<str1.size();
}
结果是5
代码2
#include <string>
#include <iostream>
int main()
{
char a[20] = "abc";
a[4] = 50;
std::string str1;
str1.erase();
str1 = a;
//这里有什么办法将有可能将中间含有0的指定长度字符串复制给str1吗?
std::cout<<str1.size();
}
结果是3
有什么方法可以在string已经定义之后复制指定长度的字符串到str吗,也就是不使用string的构造函数的话有没有办法将中间含有0的指定长度的字符串传给string
------解决思路----------------------
std::string::assign
代码1
include <string>
#include <iostream>
int main()
{
char a[20] = "abc";
a[4] = 50;
std::string str1(a,5);
std::cout<<str1.size();
}
结果是5
代码2
#include <string>
#include <iostream>
int main()
{
char a[20] = "abc";
a[4] = 50;
std::string str1;
str1.erase();
str1 = a;
//这里有什么办法将有可能将中间含有0的指定长度字符串复制给str1吗?
std::cout<<str1.size();
}
结果是3
有什么方法可以在string已经定义之后复制指定长度的字符串到str吗,也就是不使用string的构造函数的话有没有办法将中间含有0的指定长度的字符串传给string
------解决思路----------------------
std::string::assign