• 【转】C++ int,char,string,CString类型转换(整理总结)


    #include <string>//使用C++标准库的string类时

    using namespace std;//同上

    #include <sstream>

    #include <iostream>

    #include <stdlib.h>//要将string类和int类型直接转换最好有这些包含,

                                 //因为自己写一个转换函数比较方便,函数定义参考如下:

    string getstring(const int n)

    {

    std::stringstream newstr;

    newstr<<n;

    return newstr.str();

    }

    string转CString

    CString.format("%s",string.c_str());

    char转CString

    CString.format("%s",char*);

    char转string

    string s(char*);

    string转char*

    char* p=string.c_str();

    CString转string

    string s(CString.GetBuffer());

    1,string->CString

    CString.format("%s",string.c_str());

    用c_str()确实比data()要好

    2char->string

    string(char*)

    只能初始化,在不是初始化的地方最好还是用assign();

    3, CString->string

    string s(CString.GetBuffer());

    GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间

    《C++标准函数库》中说的

    有三个函数可以将字符串的内容转换为字符数组的C_string

    1.data(),返回没有'\0'的字符串数组

    2.c_str(),返回有'\0'的字符串数组

    3.copy()

    CString与int,char*,char[100]之间的转换

    CString与int,char*,char[100]之间的转换

    CString互转int

    将字符转换为整数,可以使用atoi、_atoi64或atol

    而将数字转换为CString变量,可以使用CString的Format函数。

    如:

    CString s;

    int i=64;

    s.Format("%d",i);

    Format函数的功能很强,值得研究

    void CStrDlg::OnButton1()

    {

    CString ss="1212.12"

    int temp=atoi(ss);

    CString aa;

    aa.Format("%d",temp);

    AfxMessageBox("var is"+aa);

    }

    sart.Format("%s",buf);

    CString互转char*

    CString strtest;

    char* charpoint;

    charpoint="give string a value";

    strtest=charpoint;

    //cstring To char*

    charpoint=strtest.GetBuffer(strtest.GetLength());

    标准C里没有string,char*==char[]==string

    可以用CString.Format("%s",char*)这个方法来将char*转成CString。用操作符(LPCSTR)CString就可以了。

    CString转换char[100]

    char a[100];

    CString str("aaaaa");

    strncpy(a,(LPcSTR)str,sizeof(a));

    }

  • 相关阅读:
    jqurey技术总结
    ie浏览器兼容问题小结
    FIS的合并压缩技术
    对js中数组的一些总结
    浅谈如何面向对象进行封装
    13th week blog
    12th week blog
    11th week blog
    10th week blog
    9th Week blog
  • 原文地址:https://www.cnblogs.com/rooney/p/2578894.html
Copyright © 2020-2023  润新知