C++ string转vector<char>
#include "stdafx.h" #include <iostream> #include "string.h" #include <vector> int str_to_vec() { std::vector<char> vec_buf; std::string str("大家好"); //6个字节,每个汉字2个字节 char message[40] = { 0 }; //初始化为每个字符为'\0',ascii码为0,为了打印字符串 vec_buf.resize(str.size()); //str.size()是6,1个汉字占两个字节。 vec_buf.assign(str.begin(), str.end()); //把str复制到vector中 for (int i = 0; i < vec_buf.size(); i++) //遍历vector中的字符,把每个字符复制到 message字符数组中,主要是为了用message字符数组打印出来。 { *(message + i) = vec_buf[i]; } printf("值是:%s\n", message); //打印出字符数组,初始化的时候已经加了'\0' return 0; } int _tmain(int argc, _TCHAR* argv[]) { str_to_vec(); int b = getchar();//获取一个输入字符,留住命令窗口。 return 0; }
打印输出: 值是:大家好
vs2013下编译通过。