w2c

#include <windows.h>
#include <string>

bool WcharToChar(const wchar_t* wp, std::string& str)
{
    int len = WideCharToMultiByte(CP_ACP, 0, wp, wcslen(wp), NULL, 0, NULL, NULL);
    str.resize(len + 1);
    return WideCharToMultiByte(CP_ACP, 0, wp, wcslen(wp), (char*)str.data(), len, NULL, NULL) > 0;
}

bool CharToWchar(const char* c, std::wstring& wstr)
{
    int len = MultiByteToWideChar(CP_ACP, 0, c, strlen(c), NULL, 0);
    wstr.resize(len + 1);
    return MultiByteToWideChar(CP_ACP, 0, c, strlen(c), (wchar_t*)wstr.data(), len) > 0;
}
时间: 2024-10-10 02:48:08

w2c的相关文章

谰谧苜伺谥nm6gwia82c1b6uglg07

但就在这些军装的后面,杜晨发现了一把黑洞洞的手枪,92式5.8毫米军用战斗手枪,里面还装有子弹.而在衣柜的最角落,杜晨更发现这衣柜竟然还另有秘密,一个小型的显示器,显示器的上方有扬声器,下方有收音孔.这分明就是一个完善的可视对讲系统."现在唯有,养气,行温针,驱寒促阳!暂且稳住她的病情,吊着她的命,也许能够让她再活几年,否则她活不过三个月."说自己受人指使来伤害董璃,这是有被迫害妄想症么?可就算是这样,也未必能够救活这男人的性命,因为他现在中毒已深,基本用西医的手段是无法挽回了.&qu

马哥教育面授班-标准I/O和管道-课后小作业-2016年7月28

马哥教育面授班-7月28号作业 1 .将/etc/issue 文件中的内容转换为大写后保存至/tmp/issue.out 文件中 [[email protected] ~]# tr 'a-z' 'A-Z' </etc/issue | >> /tmp/issue.out [[email protected] ~]# cat /tmp/issue.out  CENTOS RELEASE 6.8 (FINAL) KERNEL \R ON AN \T \N \D \S MAGE EDUCATIO

觅市氽坌拙u33thqjt8ylv

护士长嘴巴张了张,本想把实情说出来,却在刘尘远的眼神威胁下,最终还是没有开口."关我什么事,要管也是你这个师妹来管,别忘了,云先生也是你师傅,而杜晨是你师兄!"跟林英男想杀人的表情不同,年保春仍旧是一副气定神闲的样子."杜晨死了,这不正是我想要的么?她死了,我就自由了,整个林家都自由了,就连师傅你老人家也自由了.这应该就是大家都想要的啊!""杜医生,你怎么看?""你是谁,你要干什么?"护士长沉声说道,眼下正是男人危机的时刻,任

Android NDK 下的宽字符编码转换及icu库的使用(转)

原贴http://topic.csdn.net/u/20101022/16/1b2e0cec-b9d2-42ea-8d9c-4f1bb8320a54.html?r=70149216 ,看过并动手实现,记录下来以备再用. 如果是在java层,有String类可以很好的转换各种编码,在ndk下面就没有现成的公开的工具,不过可以用icu4c. ICU4C 是IBM的国际化开发组件ICU的C语言实现版本.在android系统里也有实现.ndk里面并没有公开可用的api,需要自己加载动态库来调用转换函数.

几个多字节和UNICODE及UTF-8之间相互转化的函数

做vc++开发免不了多字节UNICODE.UTF-8转来转去,下面贴出我写的几个字符转化函数 1. TCHAR  和CHAR转化, TCHAR 对应UNICODE和多字节下分别是WCHAR 和CHAR 函数如下: 需要注意*dest是new出来的需要释放 //char 字符串转化为tchar字符串 void C2T(TCHAR** dest, const char* src) { #ifdef _UNICODE if (src == NULL) { return ; } size_t alen

uoj#29. 【IOI2014】Holiday

http://uoj.ac/problem/29 经过的点集一定是一个包含start的区间,为了经过这个区间内所有点,必须先到达一个区间端点,再到达另一个区间端点,剩余的步数则贪心选区间内最大价值的点.显然决策单调,于是可以分治,用可持久化线段树快速求出区间前k大数之和. #include"holiday.h" #include<cstring> #include<algorithm> typedef long long i64; const int N=500

c++ wchar_t 与char 直接的转换【转】

http://blog.163.com/tianshi_17th/blog/static/4856418920085209414977/ 实现了一下 #include "stdafx.h" #include <iostream> #include <sstream> using namespace std; char* wchar2char(wchar_t *WStr) { size_t len = wcslen(WStr) + 1; size_t conver

win32 wstring &lt;-&gt; string

static std::string w2c(std::wstring str) { int nlength = str.length(); int nbytes = WideCharToMultiByte(0,0,str.c_str(),nlength,NULL,0,NULL,NULL); if(nbytes == 0) return ""; char*buff = new char[nbytes+1]; WideCharToMultiByte(0,0,str.c_str(),nle

两个自己函数创建目录和删除目录,考虑了多级目录的情况

使用shell api的话删除目录和创建目录都是非常简单的一个函数调用就可以,但是如果是使用为win32里面基本的函数的话,就稍微会复杂点.不过个人感觉shell api里面删除和创建目录的函数也是调用win32里面这些基本的函数. 创建目录, 可以创建多级目录,代码拷过去稍稍修改可用: int IPath::SetDirectory(LPCTSTR lptStr) { _stprintf_s(IPath::s_tszPath, _T("%s"), lptStr ); char* sz