vc6 和vs2008编码方式问题
来源:互联网 发布:淘宝网冬天裙子 编辑:程序博客网 时间:2024/06/16 03:39
以下的代码无法编译,vc++6.0可以编译,c-free也可以
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
int main(int argc, char *argv[])
{
CHAR *szCmdLine = "cmd";
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = TRUE;
BOOL bRet = ::CreateProcess(
NULL,
szCmdLine,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi
);
if(bRet)
{
::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);
printf("new process id %d\n", pi.dwProcessId);
printf("new thread id %d\n", pi.dwThreadId);
}
return 0;
}
这个是编码方式的问题,vc6.0用的是ANSI,vs用的是unicode编码。
我的环境是win7,vs2008.直接编译你的代码:error C2664: “CreateProcessW”: 不能将参数 2 从“
CHAR *”转换为“LPWSTR”
将“CHAR *szCmdLine = "cmd";“修改为“WCHAR *szCmdLine = _T("cmd");”即可。
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
int main(int argc, char *argv[])
{
CHAR *szCmdLine = "cmd";
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = TRUE;
BOOL bRet = ::CreateProcess(
NULL,
szCmdLine,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi
);
if(bRet)
{
::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);
printf("new process id %d\n", pi.dwProcessId);
printf("new thread id %d\n", pi.dwThreadId);
}
return 0;
}
这个是编码方式的问题,vc6.0用的是ANSI,vs用的是unicode编码。
我的环境是win7,vs2008.直接编译你的代码:error C2664: “CreateProcessW”: 不能将参数 2 从“
CHAR *”转换为“LPWSTR”
将“CHAR *szCmdLine = "cmd";“修改为“WCHAR *szCmdLine = _T("cmd");”即可。
- vc6 和vs2008编码方式问题
- VC6 和VS2008 中的CTime类使用问题
- strcpy在VC6和VS2008下面的问题
- 从VC6 VS2008遇到的问题总结
- 问题:工程迁移 VC6->VS2008->VS2010
- VS2008和VC6的调试器转换
- vc6用unicode 编码方式来编译程序
- 编码方式,编码之问题
- vc6转换到vs2008 fopen出现字符集转换的问题
- vc6转换到vs2008 fopen出现字符集转换的问题
- vs2008调用vc6.0开发的dll问题
- 从VC6.0转到vs2008的一些问题
- 从VC6.0转到vs2008的一些问题
- VC6.0到VS2008容易出现的一些问题
- vc6代码移植到vs2008的问题总结
- VC6.0程序转向VS2008的问题集锦
- vc6.0移植到vs2008下问题总结
- vc6.0代码想vs2008转换的几个小问题
- MSSQL ROW_NUMBER()、RANK()和DENSE_RANK()的用法
- 程序员的人生路
- 使用ajaxFileUpload.js插件实现ajax无刷新上传文件
- 今天研究了下unix的时间问题
- 快两年没写了,随便写写吧。
- vc6 和vs2008编码方式问题
- Linux 多线程文件读写操作 +实例
- _stdcall 和 _cdecl
- charindex()、like示例:
- org.apache.commons.lang.StringUtils
- C/C++中GetByteArrayElements使用区别
- App Store 状态列表
- 14.1 全文索引的介绍
- C# 隐藏TabPage的Page页