这文章是更改别人代码
#include <string>
#include <iostream>
#include <stdlib.h>
#include <windows.h>
#include <locale>
#include <locale.h>
#define _A_WIN
using namespace std;
wstring string_wstring(string sToMatch)
{
#ifdef _A_WIN
int iWLen = MultiByteToWideChar( CP_ACP, 0, sToMatch.c_str(), sToMatch.size(), 0, 0 );
wchar_t *lpwsz = new wchar_t [iWLen + 1];
MultiByteToWideChar( CP_ACP, 0, sToMatch.c_str(), sToMatch.size(), lpwsz, iWLen );
lpwsz[iWLen] = L'\0';
wstring wsToMatch(lpwsz);
delete []lpwsz;
return wsToMatch;
#elifdef _A_LINUX
setlocale( LC_CTYPE, "" );
int iWLen = mbstowcs( NULL, sToMatch.c_str(), sToMatch.length() );
wchar_t *lpwsz = new wchar_t[iWLen + 1];
int i = mbstowcs( lpwsz, sToMatch.c_str(), sToMatch.length() );
wstring wsToMatch(lpwsz);
delete []lpwsz;
return wsToMatch;
#endif
return NULL;
}
string wstring_string(wstring sToMatch)
{
#ifdef _A_WIN
string sResult;
int iLen = WideCharToMultiByte( CP_ACP, NULL, sToMatch.c_str(), -1, NULL, 0, NULL, FALSE );
char *lpsz = new char[iLen];
WideCharToMultiByte( CP_OEMCP, NULL, sToMatch.c_str(), -1, lpsz, iLen, NULL, FALSE);
sResult.assign( lpsz, iLen - 1 );
delete []lpsz;
return sResult;
#elifdef _A_LINUX
int iLen = wcstombs( NULL, sToMatch.c_str(), 0 );
char *lpsz = new char[iLen + 1];
int i = wcstombs( lpsz, sToMatch.c_str(), iLen );
lpsz[iLen] = '\0';
string sResult(lpsz);
delete []lpsz;
return sResult;
#endif
return NULL;
}
更改
wstring string_wstring(string sToMatch):return wsToMatch;
string wstring_string(wstring sToMatch):return sResult;
wstring string_wstring(string sToMatch):lpwsz[iWLen] = L'\0';
string wstring_string(wstring sToMatch):lpsz[iLen] = '\0';
#elif:#elifdef;
参考:http://blog.csdn.net/stephen_yin/article/details/6292728
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用: 方法1: sscanf() 函数名: sscanf 功 能: 从字符串格式化输入 用 法: int sscanf(char *string, char *format[,...
C/C++复制字符串到剪粘板中 C/C++复制字符串到剪粘板中是指将字符串复制到剪粘板中,以便在其他应用程序中使用。这可以通过Win32 API和MFC来实现。 在Win32 API中,可以使用OpenClipboard、GetClipboardData、...
本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考。具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。 一、用strtok函数进行字符串分割 原型: char *...
在C++编程中,字符和字符串的处理是至关重要的,特别是在处理不同的字符集时,如宽字符和多字符集。标题和描述中提到的关键概念包括LPTSTR、LPCSTR、LPCTSTR和LPSTR,这些都是在Windows API中常见的字符串类型指针。...
本篇将详细探讨如何使用C++实现字符串的倒序,以及相关的C++字符串操作知识。 首先,我们要理解C++中字符串的基本概念。在C++中,字符串通常由字符数组表示,可以使用`char`类型的数组或`std::string`类来处理。`...
C/C++语言本身并没有专门的字符串变量类型,而是使用字符数组来存放字符串,其中字符串的结束符是“\0”(空字符)。掌握字符与数字之间的转换对于进行有效编程至关重要,尤其在处理用户输入、数据输出以及与其他...
本示例探讨的是如何在C#环境下调用C++编写的动态链接库(DLL),并实现两者之间字符串参数的有效传递。下面我们将详细讨论这个过程。 首先,C#和C++之间的互操作性是通过.NET Framework的Platform Invoke (P/Invoke...
在C++编程中,处理字符串是一项常见的任务,特别是在游戏开发客户端和服务器端的场景中。题目中的问题聚焦于如何正确地截取一个中英混合的字符串,确保在截取过程中不会将汉字字符截断。这个问题涉及到字符编码、...
在C++编程中,处理字符串是一项常见的任务,尤其是在开发涉及文本处理的应用程序时。C++提供了多种方法来处理和操作字符串,包括标准库中的`std::...理解并熟练掌握这两种方法,将使你在处理C++字符串时更加得心应手。
C#中的字符串是引用类型,由.NET框架管理,而C++中的字符串可以是字符数组(char*)或宽字符数组(wchar_t*)。因此,传递字符串数组时,需要进行适当的类型转换。 1. **定义C++ DLL接口**: 在C++ DLL中,我们...
字符串处理包括校验、编码转换和错误检查等步骤,确保字符串能正确转化为二维码。 5. **图像处理**: 生成的二维码是一个二维像素阵列,需要转换为图像格式,如PNG或JPEG,以便在屏幕上显示或本地保存。Qt库的`...
- `wcswcs()`/`wcsstr()`:在一个宽字符串中查找另一个宽字符串。 - `wcscspn()`/`wcsspn()`:计算宽字符串前缀中不匹配或匹配指定字符集的长度。 - `wcscpy()`/`wcsncpy()`:复制宽字符串。 以上函数的使用可以...
在C++编程中,`std::string`是一个非常重要的数据类型,用于表示和操作字符串。本文将详细解析两种常用的C++ `std::string`截取字符串的方法:`find`和`find_last_of`,以及如何结合使用它们来满足各种字符串处理...
本篇文章将深入探讨如何使用C++编程语言将文本字符串转换成BMP(Bitmap)图片。 首先,我们需要了解BMP文件格式。BMP是Windows操作系统中常见的位图文件格式,它存储的是未经压缩的像素数据,包括图像宽度、高度、...
- **wcsstr()**:在一个宽字符字符串中查找另一个宽字符字符串的位置。 - **wcslen()**:计算宽字符字符串的长度。 - **wcscpy()**:复制宽字符字符串。 - **wcsncpy()**:复制宽字符字符串,可指定最大复制长度。 -...
本文将详细介绍几种常用的C++字符串类型(`char *`、`wchar_t*`、`_bstr_t`、`CComBSTR`、`CString`、`basic_string` 和 `System.String`)之间的转换方法,并通过示例代码加以解释。 #### 1. `char *` 类型转换 `...
总的来说,这个"纯C++ 字符串处理函数大全源码"为C++开发者提供了一套实用的字符串操作工具,涵盖了字符串的分割、修剪、替换、合并等多种常见操作。通过引入这个库,开发者可以在自己的项目中快速高效地处理字符串...
### 使用C++比较两个字符串的大小 在C++编程语言中,比较字符串是常见的操作之一。本篇文章将基于提供的代码示例,详细解释如何通过指针和`for`循环来比较两个字符串的大小。 #### 代码解读 首先,让我们详细了解...
在C++编程中,字符串加密和解密是信息安全领域中的重要技术,主要用于保护数据的隐私和安全性。本项目涉及的是DES(Data Encryption Standard)加密算法的实现,这是一种经典的对称加密算法,广泛应用于数据的加密...
在编程领域,字符串处理是日常开发中的重要环节,尤其是在C++这种高级编程语言中。Visual C++作为微软提供的一个强大的C++开发环境,为开发者提供了丰富的字符串操作支持。本篇文章将深入探讨Visual C++中字符串的...