char数组和string的相互转换

 1 //char数组和string的转换
 2 #include<iostream>
 3 #include<string.h>
 4 using namespace std;
 5 int main()
 6 {
 7     char ch[]="hello world";
 8 //    string s=ch;/* string可以直接用char数组赋值*/
 9     string s(ch);/* 对string赋值char数组差不多就这两种*/
10     cout<<"ch="<<ch<<endl;
11     printf("ch=%s\n",ch);
12     cout<<"s="<<s<<endl;/*printf("s=%s",s); string不能直接用printf输出,需要用.c_str()*/
13     printf("s=%s\n",s.c_str());
14     string a="helloworldaaa";
15     const char *c;
16     c=a.c_str();
17     cout<<"c="<<c<<endl;
18     c=s.c_str();
19     cout<<"c="<<c<<endl;/* 对const char* 数组赋值,可以用string.c_str()*/
20     const char *c1;
21     c1=a.data();/* .data 和.c_str()类似,只是字符串末尾没有了\0*/
22     cout<<"c1="<<c1<<endl;
23     char c2[100];/* 用strcpy的话,就不能是指针类型,必须给定char数组长度*/
24     strcpy(c2,a.c_str());
25     cout<<"c2="<<c2<<endl;
26 }

一切尽在注释中。

原文地址:https://www.cnblogs.com/dayq/p/12181961.html

时间: 2025-02-01 04:50:00

char数组和string的相互转换的相关文章

delphi char数组、string和Pchar的相互转换

因为要调用windows的api或者给vc++写接口,很多地方都要用到pchar,现在将char数组.string和pchar之间的相互转换都列出来,都是网上找的资料,我总结一下,先直接上代码,再讲原理. 1.string转换成pchar 可以使用pchar进行强制类型转换,也可以使用StrPCopy函数 var s:string; p,p1:PChar; begin s:='Hello Delphi'; p:=PChar(s); ShowMessage(p); p1:=StrAlloc(Len

char数组构造string

这是一个老掉牙的话题, 但是你稍加不注意就会出错. 最近在写一个可以跨平台打印的程序,就遇到这个问题,故记之.共勉! 用 char 数组初始化string #include <string> using std::string; using std::cout; int main(int argc, const char * argv[]) { char chArray[] = {'m', 'a', 'r', 'k'}; cout << "array size = &qu

char数组与string转换

1.char数组转string 有很多种方法: 假设c字符串定义为char ch[]="hello world!"; 1.向构造函数传入c字符串创建string对象: string str(ch); 2.使用拷贝构造函数创建string对象: string str = ch; 3.对已有的string对象调用string类内部定义的赋值运算符: string str; str = ch; 前两种类似,但和第三种有较大区别,前两种是运用构造函数直接创建一个内容与c字符串一致的string

Java中char[]数组与String类型的相互转换

String str=akjldjslkjdls"; char[] strToChars; //String 转换成char[] strToChars= str.toCharArray(); //char[] 转换成String str= String.valueOf(strToChars); str=new String(strToChars); 注:这里char[]转换成String时不能直接使用strToChar.toString(),因调用toString()方法实际是调用Object类

C++中字符数组与string的相互转换

字符数组转化成string类型char ch [] = "ABCDEFG";string str(ch);//也可string str = ch;或者char ch [] = "ABCDEFG";string str;str = ch;//在原有基础上添加可以用str += ch; 将string类型转换为字符数组char buf[10];string str("ABCDEFG");length = str.copy(buf, 9);buf[le

JavaSE8基础 String 通过构造方法 将一维char数组化为String

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t01; public class Demo { public static void main(String[] args) { char[] data = { 'a', 'b', 'c' }; String str = new String(data); System.

Delphi中的PChar、String、Char数组

参考:http://blog.csdn.net/procedure1984/article/details/5419616 一.三者的区别 string和char数组都是一块内存,其中存放着连续的字符. string保存具体字符的内存对用户是透明的,有Delphi管理它的分配.复制和释放,用户不能干预(其实也可以,不过是通过非法途径) Char数组类似于C/C++中的字符数组 PChar是一个指针,它的大小只有32位.定义时由Delphi自动填0.要将PChar作为字符串使用的话,必须自己分配内

C/C++ string和char数组对比

string是c++特有的,使用时需添加头文件#include<string> (一)#include<string.h>和#include<cstring>以及#include<string.h>区别 <string.h> <string.h>是C版本的头文件,包含比如strcpy.strcat之类的字符串处理函数. <cstring> 在C++标准化(1998年)过程中,为了兼容以前,标准化组织将所有这些文件都进行了新

Java判断回文语句的程序(可变参数,String转化为char数组)

static void Huiwen(char... cs){     //char... cs  支持可变参数格式为 //(类型名... 变量名)--形参列表,相当于建立了一个长度可变的动态数组,系统根据用户需求来确定数组的长度 int b_ool=1; for(int i=0;i<cs.length/2;i++)    //length为这个可变数组的长度,注意此时长度为数组下表加1,通过cs.length-i-1可知 if(cs[i]!=cs[cs.length-i-1   // 判断 ]