for (vector<int>::const_iterator i = vec.begin(); i != vec.end(); ++i)
    {
        int number = *i;
        char* c;
        itoa(number, c, 10);
        result += c;
    }
    std::cout << result << std::endl;

मैं प्रत्येक int को "vec" में एक चार में बदलने और इसे एक स्ट्रिंग में जोड़ने की कोशिश कर रहा हूं लेकिन मुझे बस एक कंपाइलर त्रुटि मिलती है। मैं क्या गलत कर रहा हूं?

0
user8506085 22 पद 2017, 15:30

2 जवाब

सबसे बढ़िया उत्तर

आप C++ में उपलब्ध std::to_string का उपयोग कर सकते हैं 1 1:

#include <iostream>
#include <vector>
#include <string>

int main()
{
    std::vector<int> vec;
    for (int i = 0; i < 100; i++)
    {
        vec.push_back(i);
    }
    std::string result;
    for (std::vector<int>::const_iterator i = vec.begin(); i != vec.end(); ++i)
    {
        result += std::to_string(*i);
    }
    std::cout << result << std::endl;
}
4
Ron 22 पद 2017, 16:12

std::accumulate के लिए नौकरी जैसी आवाज़ों का संयोजन करना।

#include <iostream>
#include <numeric>
#include <string>
#include <vector>

auto main() -> int
{
  const std::vector<int> vec{ 1, 2, 3 };
  const std::string result = std::accumulate(vec.begin(), vec.end(), std::string(),
    [](const std::string& s, const int value)
    {
      return s + std::to_string(value);
    });

  std::cout << result << std::endl;
}
1
Christian G 22 पद 2017, 15:47