|
> vector<char>::iterator a;
> a.push_back("A");
> a.push_back("B");
> a.push_back("C");
> というソースがあったとします。
そんなソースない。正しくは:
vector<char> a;
a.push_back('A');
a.push_back('B');
a.push_back('C');
> char達を一つのchar*変数に突っ込んでいく場合はどう実現すればいいのでしょう?
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
vector<char> a;
a.push_back('H');
a.push_back('e');
a.push_back('l');
a.push_back('l');
a.push_back('o');
char* XYZ = new char[a.size()+1]; // 領域を確保して
*copy(a.begin(), a.end(), XYZ) = '\0'; // vector<char> からコピー、末尾に'\0'
cout << '[' << XYZ << ']' << endl;
delete[] XYZ; // 領域解放
}
|