假设我有一个未知大小的数组,比如0,1,2,3.
for(int i = 0; i < array.size(); i++)
{
string name;
int number;
if (array[i] == 0)
{
name ="jack";
number="10";
}
else if (array[i] == 1)
{
name="alice";
number=15";
}
//....
}使用这些数据,我想生成一个字符串,如下所示:
string text = name(number)+name(number)+name(number)...字符串中必须有array.size()乘以名称(数字)
我该如何编写代码呢?
发布于 2017-11-22 20:55:32
使用字符串
#include <iostream>
#include <string>
#include <sstream>
#include <utility>
int main()
{
std::vector<std::pair<std::string, int>> array;
array.push_back(std::make_pair("jack", 10)); //index 0
array.push_back(std::make_pair("alice", 15)); //index 1
array.push_back(std::make_pair("bob", 20)); //index 2
std::ostringstream oss;
for (auto &el : array)
{
oss << el.first << "(" << el.second << ")";
}
std::string text = oss.str();
std::cout << text;
return 0;
}指纹:
jack(10)alice(15)bob(20)发布于 2017-11-22 20:54:25
您可以使用std::ostringstream
std::ostringstream out_stream;
out_stream << name << "(" << "number" << ")";
//...
std::cout << out_stream.str() << std::endl;https://stackoverflow.com/questions/47443590
复制相似问题