首页 > 编程语言 >C++ char*类型与vector类型的相互转换

C++ char*类型与vector类型的相互转换

时间:2024-08-08 14:39:33浏览次数:13  
标签:ch cout buffer C++ char vector 类型

char*类型与vector<char> 类型的相互转换

很多时候需要使用动态的字符串,但是char*难以完成相应的扩容操作,而动态数组vector则可以简单地完成,结合二者特性就可以完成动态字符串,同时,也需要二者类型的相互转换:

  • char* 转vector<char>
    •  vector<char> buffer(ch, ch+4);
  • vector<char> 转char*
    •  char *s = &buffer[0];
#include "iostream"
#include "vector"
using namespace std;

void printVector(vector<char> v){
	for (vector<char>::iterator iter = v.begin(); iter != v.end(); iter++){
		cout << *iter;
	}
	cout << endl;
}

int main(){
	char * ch = "1234";
	// char * 类型转换为 vector<char> 类型
	vector<char> buffer(ch, ch+4);
	cout << "vector :";
	printVector(buffer);
	// vector<char> 类型转换为 char* 类型
	char *s = &buffer[0];
	cout << "char * :" << s << endl;;
	system("pause");
	return 0;
}

 

标签:ch,cout,buffer,C++,char,vector,类型
From: https://www.cnblogs.com/1873cy/p/18348928

相关文章

  • C++竞赛初阶L1-10-第四单元-if练习(第24课)100015: 判断能否被 3,5,7 整除
    题目内容给定一个整数 x,判断它能否被 3,5,7 整除,并输出以下信息:1、能同时被 3,5,7 整除(直接输出 357,每个数中间一个空格);2、只能被其中两个数整除(按从小到大的顺序输出两个数,例如:35 或者 37 或者 57,中间用空格分隔);3、只能被其中一个数整除(输出这个除数);4、不能......
  • VsCode C++ namespace has no member错误
    此问题VSCode C++插件本身bug解决办法一:还原c++插件到旧版本解决方法二:但此方法智能提示会有很多多余的信息(有缺陷)在官方未推出相应布丁之前,可按照以下步骤避免该问题:1、按顺序打开:文件》首选项》设置2、在右边,用户设置窗口添加以下代码:"C_Cpp.intelliSenseEngine":"TagP......
  • windows平台中使用vscode远程连接linux进行c++开发配置教程(内容详细适合小白)-2021-3-3
    文章目录一、简要介绍二、软件安装步骤1.linux系统安装2.vscode安装3.ssh安装4.配置Remote-SSH5.安装远程插件6.简单小测试三、配置vscode开发环境1.默认设置、用户设置、远程设置和工作区设置2.c++开发设置a).c_cpp_properties.jsonb).tasks.jsonc).launc......
  • 计算机毕业设计项目推荐,院系资料分类管理平台 84184(开题答辩+程序定制+全套文案 )上万
    目 录摘要1绪论1.1研究背景1.2研究意义1.3论文结构与章节安排2 院系资料分类管理平台系统分析2.1可行性分析2.2系统流程分析2.2.1数据增加流程2.2.2数据修改流程2.2.3数据删除流程2.3系统功能分析2.3.1功能性分析2.3.2非功能性分析......
  • 计算机毕业设计项目推荐,红色旅游网站设计与开发 99214(开题答辩+程序定制+全套文案 )上
    摘 要21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于旅游服务管理也是十分常见的。过去使用手工的管理方式对旅游服务进行管理,造成了管理繁琐、难以维护等问题,如今使用计算机对旅游服务的各项基本信息进行管理,比起手工管理来说既方便又简单,而且具有易......
  • C++-练习-11
      题目:编写一个程序,要求用户输入全球当前的人口和美国当前的人口(或其他国家的人口)。将这些信息存储在longlong变量中,并让程序显示美国(或其他国家)的人口占全球人口的百分比。源代码:#include<iostream>intmain(){ usingnamespacestd; longlongglobal_population......
  • VSCode编译多个不同文件夹下的C++文件
        实际上VSCode编译C++文件就是通过向g++传递参数实现的,因此即使是不同包下面的cpp文件或者.h文件都是可以通过修改g++的编译参数实现,而在VSCode中,task.json文件其实就是在配置g++的编译参数,因此我们可以通过修改task.json里面的参数,实现不同包下cpp文件的编译。 ......
  • 【c++】Linux MySQL连接池
    #ifndefMYSQLCONNECTION_H#defineMYSQLCONNECTION_H#include<iostream>#include<mysql.h>#include<vector>classMySQLConnection{public: ///<summary> ///初始化连接 ///</summary> MySQLConnection(); MySQLConnection(MySQ......
  • 面向对象程序设计(C++)之 String 类
    1.String构造函数String可以理解为一个字符数组,在创建String类型变量的时候可以使用很多形式,因为String有很多实用的构造函数首先使用String类要包含头文件#include<string>接下来使用代码依次演示上述构造函数的用法: #include<iostream>#include<string>......
  • C++ SQL ORM
     测试代码 ////Createdbywwwon2024/8/7.//#include"sqlitepp/database.h"#include"sqlitepp/condition.h"#include<iostream>usingnamespacesqlitepp;usingnamespacesqlitepp::literals;enumclasstest_enum{hello};voi......