w_char*和char*在windows编程过程中进行转换是经常需要的,通常由互联网我们取到都是utf-8编码,到windows应用程序里面却需要用unicode编码。
一开始用stdlib.h 下wcstombs_s和mbstowcs_s的代码实现,发现总是转换失败和出错。
char 转 WCHAR 、wchar_t、LPWSTR ,窄字符转宽字符,C++代码
//+------------------------------------------------------------------+
//| char to WCHAR 、wchar_t、LPWSTR etc |
//+------------------------------------------------------------------+
static char* WStr2CStr(const wchar_t* WStr)
{
// 长度设置
size_t len = wcslen(WStr) + 1;
size_t converted = 0;
// 准备转换的对象
char *CStr;
CStr=(char*)malloc(len*sizeof(char));
// 转换
wcstombs_s(&converted, CStr, len, WStr, _TRUNCATE);
// 返回
return CStr;
} |
//+------------------------------------------------------------------+
//| char to WCHAR 、wchar_t、LPWSTR etc |
//+------------------------------------------------------------------+
static char* WStr2CStr(const wchar_t* WStr)
{
// 长度设置
size_t len = wcslen(WStr) + 1;
size_t converted = 0;
// 准备转换的对象
char *CStr;
CStr=(char*)malloc(len*sizeof(char));
// 转换
wcstombs_s(&converted, CStr, len, WStr, _TRUNCATE);
// 返回
return CStr;
}
Read more…
最近需要在Windows服务器上保持程序长期允许,因为程序比较老,无法用srvany.exe 改写成windows服务,只能自己手动编写守护脚本实现,网上找了短比较靠谱的守护脚本,在此mark一下。支持监视进程、端口。
守护脚本定义部分
@echo off
::检测时间间隔,单位:秒
set _interval=5
::需要守护的进程名称
set _processName=ProcessName
::需要守护的进程启动命令
set _processCmd=C:\xxxx.exe
::需要守护的进程预估启动完毕所需时间,单位:秒
set _processTimeout=10
::需要守护的进程所监听的端口
set _port=8080
::进程用户名,一般是Administrator
set _username=Administrator |
@echo off
::检测时间间隔,单位:秒
set _interval=5
::需要守护的进程名称
set _processName=ProcessName
::需要守护的进程启动命令
set _processCmd=C:\xxxx.exe
::需要守护的进程预估启动完毕所需时间,单位:秒
set _processTimeout=10
::需要守护的进程所监听的端口
set _port=8080
::进程用户名,一般是Administrator
set _username=Administrator
Read more…
Recent Comments