我在c ++中有一组字符,例如:
char input[]="I love you";
我想从char [i]到char [j]创建一个std :: string。例如:
std::string output="love";
我该怎么办?
答案 0 :(得分:2)
你可以这样做:
char input[]="I love you";
std::string str(input);
此处:http://www.cplusplus.com/reference/string/string/string/
如果您只想要部分,请写下:
std::string str(input + from, input + to);
答案 1 :(得分:0)
std::string
有一个构造函数,它接受一个迭代器对。你可以用它替换指针..
示例:
#include <iostream>
int main()
{
char input[]="I love you";
std::string str = std::string(&input[2], &input[6]);
std::cout<<str;
return 0;
}
答案 2 :(得分:0)
以下是一个示例,其中包含以下构造函数
basic_string(const charT* s, size_type n, const Allocator& a = Allocator());
被称为
#include <iostream>
#include <string>
int main()
{
char input[] = "I love you";
std::string s( input + 2, 4 );
std::cout << s << std::endl;
}
或者您可以使用构造函数
basic_string(const basic_string& str, size_type pos, size_type n = npos,
const Allocator& a = Allocator());
如本例所示
#include <iostream>
#include <string>
int main()
{
char input[] = "I love you";
std::string s( input, 2, 4 );
std::cout << s << std::endl;
}