c++ - How to convert a vector of int to vector of const char* -


i know how convert vector of int vector of string

but possible convert vector of int vector of const char*? seems impossible...

for example, following code wrong:

int n=3; vector<int> vec; for(int i=1;i<=n;i++){vec.push_back(i);}  vector<const char*> chararray; for(int i=0;i<vec.size();i++) {     std::string s = std::to_string(vec[i]);     chararray.push_back( s.c_str() ); } for( int i=0;i<chararray.size();i++) {     cout<<chararray[i]<<endl; } 

it print following on screen: 3 3 3

if need std::vector of const char* input library function, can this.

#include <iostream> #include <string> #include <algorithm> #include <iterator> #include <vector> #include <sstream>  void libraryfunction(std::vector<const char*>& charvec) {     (size_t = 0; < charvec.size(); ++i)     {         std::cout << charvec[i] << " ";     } }  std::string to_string(int i) {     std::stringstream ss;     ss << i;     return ss.str(); }  int main() {     int arr[] = { 1,2,3 };     std::vector<int> vec(arr, arr + 3); // vector before     std::vector<std::string> strvec;     strvec.reserve(vec.size());     std::transform(vec.begin(), vec.end(), std::back_inserter(strvec), to_string);     { // use block make sure charvec removed before strvec.         std::vector<const char*> charvec;         charvec.reserve(strvec.size());         (size_t = 0; < strvec.size(); ++i)         {              charvec.push_back(strvec[i].c_str());         }         libraryfunction(charvec); // call lib function here     } // strvec can safely removed. } 

Comments

Popular posts from this blog

sublimetext3 - what keyboard shortcut is to comment/uncomment for this script tag in sublime -

post - imageshack API cURL -

dataset - MPAndroidchart returning no chart Data available -