`

VC2005中System::String转换为std::string

阅读更多
今天写VS2005的windows窗口应用程序,textBox返回的不是一般的string
搞到俺………………

在http://msdn.microsoft.com/en-us/library/1b4az623(zh-cn,VS.80).aspx

http://www.sudu.cn/info/html/edu/20070503/324572.html(这网站不是原作者的,也没留有原作者的一丝信息~)找到帮助


从textBox里读出来的是unicode编码
下面是把unicode转换为ansi编码。


std::string ConvertToString(System::String^ str)
{
    int q=(int)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str);
    char* p=(char*)q;
    return std::string(p);
}

分享到:
评论

相关推荐

    C++封装调用C#的类库

    在上面的C++/CLI代码中,`marshal_as`函数用于在`System::String^`和`std::string`之间进行转换。这使得C++可以方便地处理从C#类库返回的结果。 为了在C++项目中使用C#的类库,你需要确保C++项目引用了C#的DLL文件...

    VC字符串转换的常用方法

    - **`char*`到`System::String`**:同样使用`marshal_as`,但需要先将其转换为`std::string`,然后进行转换,如`System::String^ str = marshal_as<System::String^>(std::string(cStr));` 3. **C#到C++字符串转换...

    VC日期转换

    其中,`std::tm`结构体用于存储日期和时间信息,而`std::mktime`函数则可以将`std::tm`对象转换为时间戳,便于进一步处理。例如: ```cpp #include #include int main() { std::tm timeinfo = {}; timeinfo.tm...

    vc创建日期为名称的多层文件夹

    例如,我们可以使用`std::chrono::system_clock::now()`获取当前时间,然后通过`std::chrono::system_clock::to_time_t()`转换为Unix时间戳,再用`std::ctime()`将其转换为可读的日期字符串。 代码示例: ```cpp #...

    GetLastError作为std :: string

    以下是一个简单的示例,展示如何将`GetLastError`的错误代码转换为`std::string`: ```cpp #include #include <string> std::string GetLastErrorAsString() { DWORD errorCode = GetLastError(); if (error...

    VC++ String

    - `System::String`:.NET框架中的字符串类。 ##### 6. 使用字符串类与printf风格的格式化函数 - 可以使用`printf`风格的格式化函数来处理字符串类。 - 需要注意的是,对于不同类型的字符串类,可能需要使用不同...

    VC.ZIP_VC U盘_Vc_文件 搜索

    void searchFiles(const std::string& path) { for (const auto& entry : std::filesystem::directory_iterator(path)) { if (entry.is_regular_file()) { std::cout << "File: " () << std::endl; } } } int ...

    boost file system应用

    Boost File System库,简称为`boost::filesystem`,是Boost C++库的一部分,它提供了一组强大且跨平台的API,用于处理文件和目录。在Windows操作系统上,使用`boost::filesystem`进行文件操作和文件夹遍历尤其方便,...

    DES 加密软件 解密软件 字符串 文件 vc

    void des_encrypt(std::string plaintext, std::string key, unsigned char* ciphertext) { DES_key_schedule schedule; const_DES_cblock input, output; // 将字符串转换为8字节密钥 memset((char*)&key, 0, ...

    VC模仿冰仞 实现窗口随机标题

    在VC++编程环境中,我们经常需要为应用程序的窗口设置标题,以提供用户友好的界面和必要的信息。有时候,为了增加程序的趣味性或者安全性(例如防止自动化脚本通过固定标题来识别窗口),开发者可能会选择让窗口的...

    C++字符串完全指南.doc

    在.NET框架下,`System::String`是C++/CLI中的字符串类,提供了.NET特性的支持。 2.4.10. 字符串类的打印格式函数 讲解了如何使用各种字符串类的打印和格式化方法。 2.4.11. 所有类的总结 对以上提到的所有字符串...

    用单件模式写的写日志文件(VC版)

    logFile [" << std::chrono::system_clock::now() ] " << message << std::endl; } // 其他辅助方法,如 flush(), close() 等 }; // 初始化静态成员变量 WriteLog* WriteLog::instance = nullptr; ``` 在这个...

    高考成绩管理系统 vc6编译通过

    【高考成绩管理系统VC6编译通过】是一个大学二年级学生在课程实践中开发的项目,用于管理、排序和更新高考成绩。这个系统虽然存在不足,但可以作为参考学习使用。主要涉及的知识点包括: 1. **C++编程语言基础**: ...

    vc 做的一个小时钟

    在本文中,我们将深入探讨如何使用Visual C++(简称VC)来创建一个简单的时钟程序。这个项目非常适合初学者,因为它涉及到基础的Windows编程概念,如消息循环、定时器以及用户界面设计。让我们逐步了解这个过程。 ...

    统计文本行数

    在这个场景中,标签"统计"和"文本"指向了数据处理的核心,而"vc"可能指的是Visual C++,一种常用的C++集成开发环境,虽然也可能代表版本控制(Version Control)系统,如Visual Studio Code或Version Control System...

    VC写COM上传程序

    通常,我们会使用IDL(Interface Definition Language)来声明接口,然后使用MIDL编译器将其转换为C++头文件和接口库。例如: ```idl [ object, uuid(3A985D31-4E26-4B7F-B32E-893786F3F821), dual, ...

    VC 管道获取Cmd命令输出

    5. **处理数据**:读取的数据通常是以文本格式返回,可以使用标准的C++流操作符(如std::stringstream)或者字符串处理函数(如strtok)解析输出,提取所需信息。 6. **关闭管道**:当所有数据都读取完毕后,记得...

    VC调用外部exe

    std::string strCommand = "d:\\PerDecodeX2ap.exe"; PROCESS_INFORMATION pi; STARTUPINFO si; memset(&si, 0, sizeof(si)); si.cb = sizeof(si); si.wShowWindow = SW_HIDE; si.dwFlags = STARTF_...

    VBScript、JavaScript、JS、VC、JAVA、VB超链接正则表达式.rar

    这里我们关注的是VBScript、JavaScript、JS、VC、JAVA、VB这六种编程语言中如何使用正则表达式来处理超链接。超链接通常以HTML的`<a>`标签形式存在,如`<a href="http://example.com">Example</a>`。下面将详细介绍...

Global site tag (gtag.js) - Google Analytics