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 下的测试代码
  • 相关阅读:
    位运算
    方法重载
    基本数据类型与引用数据类型参数
    带返回值方法的定义格式
    return使用
    方法的通用格式
    方法定义的格式
    google chrome developer tools
    Skolelinux
    ajax
  • 原文地址:https://www.cnblogs.com/virgildevil/p/11219310.html
Copyright © 2011-2022 走看看