首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

在VS2008环境下用API编串口通信程序的有关问题

2012-04-01 
在VS2008环境下用API编串口通信程序的问题C/C++ code#include stdafx.hint _tmain(int argc, _TCHAR* ar

在VS2008环境下用API编串口通信程序的问题

C/C++ code
#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){    char lpBuf[] = "Hello World!";        HANDLE hFile = CreateFile(                    "COM1", //此处错误: error C2664: “CreateFileW”:                    //不能将参数1 从“const char [5]”转换为“LPCWSTR”                    GENERIC_WRITE,                    FILE_SHARE_WRITE,                    NULL,                    OPEN_EXISTING,                    0,                    0);    if (hFile == INVALID_HANDLE_VALUE)    {        return 1;    }    DWORD dwBW;    WriteFile(hFile, lpBuf, strlen(lpBuf), &dwBW, NULL);    CloseHandle(hFile);    return 0;}/*==========================================================================这个程序在VC6上编译没错,但是在vs2008上就出问题了,问题如上所示,请问是不是VCreateFile()的第1个参数类型在VC6中是unsigned char * ;而在VS2008中是unsignedshort *的原因(看了MSDN猜测是这样的)?请各位给出原因和解决方法。万分感谢!==========================================================================*/


[解决办法]
TEXT("COM1")改成这样,

这是因为你的VS2008默认是UNICODE字符集环境,所以CreateFile在UNICODE下是定义成CreateFileW的.所以需要UNICODE形式的串,

热点排行