zoukankan      html  css  js  c++  java
  • C++处理char*,char[],string三种类型间的转换

    前言

          在C和C++中,有一个相当重要的部分,就是字符串的编程描述。在学C的时候,很多人习惯了char[],char*表示法,直到遇见了C++后,出现了第三者:string。这时候,很多初学者就会在这三种字符串表现形式的转换上出现错误,以下是笔者总结的一些最常用的字符串转换方法供大家参考。

    代码

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <string.h>
    using namespace std;
    
    int main(void)
    {
        string str = "HelloWorld";
        char str4[15] = "";
        char str5[15] = "";
        char str6[15] = "";
        char* str1 = (char*)str.data(); //string => char*
        char* str2 = (char*)str.c_str();//string => char*
        string str3 = str1;             //char* => string
        strcpy(str4,str1);              //char* => char[]
        memcpy(str5,str1,strlen(str1));  //char* => char[]
        for(int i=0; i<str.length(); i++) //string => char[]
        {
            str6[i] = str[i];
        }
        string str7 = str4;             //char[] => string
        char* str8 = str4;             //char[] => char*
        cout<<str1<<endl;
        cout<<str2<<endl;
        cout<<str3<<endl;
        cout<<str4<<endl;
        cout<<str5<<endl;
        cout<<str6<<endl;
        cout<<str7<<endl;
        cout<<str8<<endl;
        return 0;
    }
    
  • 相关阅读:
    spring注解-事务
    docker 安装
    docker 简单介绍
    jupyter配置
    docker 桌面镜像内安装gui程序启动报错
    Linux下安装matlab
    拉取cmake镜像并测试
    桌面镜像安装gui程序
    docker + pycharm 运行
    docker + vscode 运行
  • 原文地址:https://www.cnblogs.com/csnd/p/12897037.html
Copyright © 2011-2022 走看看