65,198
社区成员




vector<char> array;
char * p = array.begin();//兼容性不好,某些stl下,不能这样写
或者:
char * p = &(*array.begin());//可以兼容所有stl,但是很难看
最好是:
char * p = &array.at(0);//简单明了,而且可以兼容所有stl
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
vector<char> vChar;
vChar.push_back('a');
vChar.push_back('b');
....
char *str = new char[vChar.size()+1];
copy(vChar.begin(),vChar.end(), str);
str[vChar.size()]=0;
cout<<str<<endl;
delete []str;
return 0;
}
#include <vector>
#include <iostream>
#include <algorithm>
int main()
{
vector<char> vChar;
vChar.push_back('a');
vChar.push_back('b');
......
char *str = new char[vChar.size+1];
copy(vChar.begin(),vChar.end(), str);
str[vChar.size()]=0;
cout<<str<<endl;
delete []str;
}
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<char> vChar(5, 'g');
string str(vChar.begin(), vChar.end());
const char* pStr = str.c_str();
char arr[20] ={0};
strcpy(arr, str.c_str());
return 1;
}