• CString、char、int、string相互转化


         相比于C#,C++的类型转换更为麻烦。下面列举几种主要的类型转换,当然转换的方法有很多,以下可能是最简单、有效的方式了,以后在工作和学习中再逐渐添加其他的类型转换。

    CString转char*

        CString file=GetFilePath()+"parameter.txt";
        char* pszFileName=(LPSTR)(LPCTSTR)file;

    string转CString

        string str;

        CString ss = str.c_str();

    int转CString

        CString str;

        int num=0;
        str.Format(_T("%d"),num);

    char*转string:

      char* filechar;

       string file_str=file_char;

    string转char*,const char* :

    string file_str;

    char* file_char = (char*)file_str.c_str();//转const char* 不要(char *)

    int转string:

    int Num_int;

    std::stringstream ssNum;
    std::string strNum;
    ssNum<<Num_int;
    ssNum>>strNum;

    char*与System::String^的相互转换(C++互调c#时用到)

    #include "stdafx.h" 
    using namespace System; //这个命名空间如果缺的话,IntPtr这个无法识别
    int main(array<System::String ^> ^args) 

      char* ch1 = "this is chars ";

      //将char*转换为System::String^
      String^ str1= System::Runtime::InteropServices::Marshal::PtrToStringAnsi((IntPtr)ch1);

      //System::String^转换为char*

      char* ch2 = (char*)(void*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str1); 
      Console::WriteLine(str1);

      Console::WriteLine(ch2); 
      Console::ReadLine(); 

  • 相关阅读:
    数据预处理 --Sklearn preprocessing的理解
    平衡二叉树的插入旋转
    二叉树
    malloc/free 与 new/delete的区别
    C/C++ const总结
    C/C++ static总结
    C++未定义行为
    c++虚函数表
    visual studio mfc中 cout 输出
    ERROR C4996 UNSAFE
  • 原文地址:https://www.cnblogs.com/lovemyhuangmei/p/3855201.html
Copyright © 2020-2023  润新知