首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于向量数据生成字符串

基于向量数据生成字符串
EN

Stack Overflow用户
提问于 2017-11-22 20:43:07
回答 2查看 21关注 0票数 0

假设我有一个未知大小的数组,比如0,1,2,3.

代码语言:javascript
复制
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"; 
  }
  //....
}

使用这些数据,我想生成一个字符串,如下所示:

代码语言:javascript
复制
string text = name(number)+name(number)+name(number)...

字符串中必须有array.size()乘以名称(数字)

我该如何编写代码呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-22 20:55:32

使用字符串

代码语言:javascript
复制
#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;
}

指纹:

代码语言:javascript
复制
jack(10)alice(15)bob(20)
票数 0
EN

Stack Overflow用户

发布于 2017-11-22 20:54:25

您可以使用std::ostringstream

代码语言:javascript
复制
std::ostringstream out_stream;
out_stream << name << "(" << "number" << ")";
//...
std::cout << out_stream.str() << std::endl;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47443590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档