zoukankan      html  css  js  c++  java
  • c/c++中的各种字符串转换

     一:CString 和 *char 的转换:

      1:CString -> *char

      1)CString转化为*char可以使用CString中的GetBuffer()函数,具体如下:

    CString string1 = _T("string");
    char *str = string1.GetBuffer();

      注意的是,在GetBuffer后要使用ReleaseBuffer以更新对象内部数据,否则会发生不可意料的意外。

      2)可以使用强制转换。

    CString string1 = _T(“string”);
    char *str = (LPTSTR)(LPCTSTR)string1;

      3)也可使用函数strcpy实现转换。

      4)使用CString的GetAt()函数:

    CString string1 = _T("string");
    char *str = string1.GetAt(0);

      即获取下标为0的字符。

      2:*char -> CString

      1)使用format函数:

    char *str = "string";
    CString string1;
    string1.format("%s",str);

      2)同样也可以强制转换:

    char *str = "string";
    CString string1(str);

    二:*char 与 int 的转换

      1:*char -> int

      1)使用atoi()函数:

    char *val = "12345";
    int num = atoi(val);

      

      2:int -> *char

      1)使用itoa()函数:

    int num = 12345;
    char buf[5];
    itoa(buf, num, 10);

      itoa()函数中后面10代表十进制。

      2)使用sprintf()函数:

    int num = 12345;
    char buf[6];
    sprintf(buf, "%d", num);

    ......

     

  • 相关阅读:
    只出现一次的数字
    SpringBoot整合Redis
    MFC 0误差画图
    模仿.NET的序列化机制
    求最大子数组
    让CFrameWnd派生类的对象响应鼠标消息的“变态”方法
    关于chm文件和'#'的惊人发现
    CxImage学习笔记
    C++指针系列
    MFC,C++ 截屏
  • 原文地址:https://www.cnblogs.com/fwensen/p/3679538.html
Copyright © 2011-2022 走看看