我输入的内容如下:
1581 303 1127 Bravo
我想把它放到这样的字符串中:
string a="1581 303 1127";
string b="Bravo";
我该怎么做?
答案 0 :(得分:1)
基于你将前三个作为int而最后一个作为字符串的事实,就像这样。
int i1, i2, i3;
//Take input in three integers
sprintf(a, "%d %d %d", i1, i2, i3);
答案 1 :(得分:1)
只需将它们作为字符串阅读并将它们组合在一起。
std::string x1, x2, x3;
std::cin >> x1 >> x2 >> x3;
std::string a = x1 + " " + x2 + " " + x3;
std::string b;
std::cin >> b;
答案 2 :(得分:1)
simpel c ++风格方法将使用std::to_string
string += " "
string += std::to_string(int_value);
这增加了一个" INT"字符串末尾的值。
但您考虑使用字符串流吗?
#include <sstream>
std::stringstream sstream;
sstream << int_1 << " " << int_2 << std::endl;
如果你想把它转换成一个好的旧字符串:
string = sstream.str();
答案 3 :(得分:0)
您可以这样做:
getline(cin, a); // read the numbers followed by a space after each number and press enter
getline(cin, b); // read the string
cout << a << endl << b; // output the string with numbers
// first then the string with the word 'Bravo'
答案 4 :(得分:0)
标准C ++中一种不依赖于读取值的方法是
#include <string>
#include <sstream>
int main()
{
int i1 = 1581;
int i2 = 303;
int i3 = 1127;
std::ostringstream ostr;
ostr << i1 << ' ' << i2 << ' ' << i3 << ' ' << "Bravo";
// possible to stream anything we want to the string stream
std::string our_string = ostr.str(); // get our string
std::cout << our_string << '\n'; // print it out
}