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下编译通过。

posted @ 2022-05-08 19:07  fujiwara_sai  阅读(907)  评论(0编辑  收藏  举报