托管c++ (CLI) String^ 到 std::string 的相互转化

#include "stdafx.h"
#include <string>
#include <msclr\marshal_cppstd.h>
#include <iostream>

using namespace msclr::interop;
using namespace System;

int main(array<System::String ^> ^args)
{
	// 为了可以打印wstring到控制台
	std::wcout.imbue(std::locale("chs"));

	// 声明两个string
	std::string strOld = "阿里路亚!"; //std的string
	String^ strNew = "耶稣基督!"; //cli的string.

	//std::string转cli的string
	String^ stdToCli = marshal_as<String^>(strOld);
	Console::WriteLine(stdToCli);

	//cli的string转std::string
	std::string cliToStd = marshal_as<std::string>(strNew);
	std::cout << cliToStd << std::endl;

	//cli的string转std::wstring
	std::wstring cliToWstring = marshal_as<std::wstring>(strNew);
	std::wcout << cliToWstring << std::endl;
}

托管c++ (CLI) String^ 到 std::string 的相互转化,布布扣,bubuko.com

时间: 2024-12-11 19:54:50

托管c++ (CLI) String^ 到 std::string 的相互转化的相关文章

实战c++中的string系列--std::string与MFC中CString的转换

搞过MFC的人都知道cstring,给我们提供了很多便利的方法. CString 是一种很有用的数据类型.它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多.不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习. 但是很多情况下,我们还是需要cstring和string的转换. 分两步: 1把cstring转为char数组 2根据char数组,构造自己的string(记得释放内存) std::string CStringT

typedef std::string AddressLines[4]定义了一个string数组,大小为4

int main() { typedef std::string AddressLines[4]; std::string *pal = new std::string[4]; std::string *pal1 = new AddressLines; delete [] pal; delete [] pal1; return 0; } typedef std::string AddressLines[4]; 这样定义居然是代表AddressLines是一个string数组,4个string.

4.std::string中库函数的使用。

为了美观,我们把输入和输出设计成如下: #include <iostream> #include <string> int main() { std::string name; std::string s3,s2; std::cout << "Please enter your first name: "; std::cin >> name; s3 = "* Hello, " + name + "! *&qu

D语言调用C++中的std::string

在D语言中调用C++中的std::string , 需要使用 extern(C++,class)语法,该语法在DMD2.071版本中不支持,需要使用ldc1.1. 下载地址:https://github.com/ldc-developers/ldc/releases/ . 下载ldc2-1.1.0-alpha1-win32-msvc.zip 使用LDC2-1.1时,必须使用vs2015库文件,因为连接时需要. 下面使用visuald来测试一下调用std::string. 解压开LDC放在以下目录

c++ std::string 用法

std::string用法总结 在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询.在网上摘抄一下总结一下,为以后的查询方便: string类的构造函数: string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初始化 string类的字符操作: const char &operator[](int n)const; const char &at(int n)const; cha

转换MFC CString 到std::string

std::string CStringToSTDStr(const CString& theCStr) { // Convert the CString to a regular char array const int theCStrLen = theCStr.GetLength(); char *buffer = (char*)malloc(sizeof(char)*(theCStrLen+1)); memset((void*)buffer, 0, sizeof(buffer)); Wide

对std::string和std::wstring区别的解释,807个赞同,有例子

807down vote string? wstring? std::string is a basic_string templated on a char, and std::wstring on a wchar_t. char vs. wchar_t char is supposed to hold a character, usually a 1-byte character. wchar_t is supposed to hold a wide character, and then,

C++ 实现vector&lt;std:string&gt; 版本

1 #include <iostream> 2 #include <vector> 3 #include <memory> 4 #include <thread> 5 #include <type_traits> 6 #include <typeinfo> 7 #include <sstream> 8 #include <utility> 9 10 11 class StrVec 12 { 13 friend

数值类型与std::string的相互转换

1.使用std::stringstream: //将in_value值转换成out_type类型 template<class out_type, class in_value> out_type StringTo(const in_value& t) { std::stringstream sstream; sstream << t; //向流中传值 out_type result; //这里存储转换结果 sstream >> result; //向resul