zoukankan      html  css  js  c++  java
  • 字符串类型的相互转换

    char <--> string <--> CString

     1 #define _CRT_SECURE_NO_WARNINGS
     2 #include <string>
     3 #include <afx.h>
     4 
     5 #define __string
     6 using namespace std;
     7 int main()
     8 {
     9 
    10 #if defined(__char)
    11     char chs[256]="字符串转换";
    12 
    13 //char -> CString
    14     CString cstr(chs);
    15 //char -> string
    16     string s(chs);
    17 
    18 #elif defined(__string)
    19     string s="字符串转换";
    20 
    21 //string -> char
    22     //拷贝另一份
    23     //新开辟一个缓冲区  ,s.c_str()最好保持只读
    24     char chs[256];
    25     strcpy(chs, s.c_str());
    26     //不可以使用 char *chs = s.c_str()
    27     //因为chs指向的地址内存不可修改(这种方式不安全)
    28 //string -> CString
    29     //需要利用上面的 char 指针来 做桥梁
    30     CString cstr(chs);
    31 
    32 #elif defined(__CString)
    33     CString cstr = TEXT("字符串转换");
    34 
    35 //CString -> char
    36     CStringA cstr_a;
    37     cstr_a = cstr;
    38     //这里会给chs开辟内存
    39     char * chs = cstr_a.GetBuffer(cstr_a.GetLength());
    40 //CString -> string
    41     //通过char 类型来做桥梁
    42     string s(chs);
    43 
    44 #endif
    45 
    46     return 0;
    47 }
    Visual Studio 下的测试代码
  • 相关阅读:
    ubuntu下eclipse打开win下的代码中文出现乱码
    ubuntu设置ip和dns
    堆和栈的区别
    分析与利用
    C语言ASM汇编内嵌语法
    vnc无法显示桌面
    草稿本(1)总结
    系统虚拟化:原理与实现
    错误
    ab(http)与abs(https)压测工具
  • 原文地址:https://www.cnblogs.com/virgildevil/p/11219310.html
Copyright © 2011-2022 走看看