gpt4 book ai didi

CreateFile(ComX...) 错误 C2664 : 'CreateFileW' :

转载 作者:行者123 更新时间:2023-11-30 20:17:52 29 4
gpt4 key购买 nike

我必须将信息从 uController 传输到我的笔记本电脑。当我创建文件时,出现以下错误。我认为如果您看到脚本,排除故障会更容易。

因为它说“LPCWSTR”中的“char [20]”不适合,所以我将其更改如下:

CreateFile((LPCWSTR)name, GENERIC..

现在我可以编译程序,但仍然收到 INVALID_HANDLE_VALUE,并且无法打开端口。

我的串行例程:

#include <stdlib.h>
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include "com_bg.hpp"

char name[20]=""; //between the "" inserting COM"X"

...

do
{
port = CreateFile(name, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);

if (port==INVALID_HANDLE_VALUE)
{
k++;
}

}
while ((k<MAXCREAT) && (port==INVALID_HANDLE_VALUE));

if (k==MAXCREAT)
return(ERR_COM);

...

我的主要看起来像这样:

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <conio.h>
#include "com_bg.hpp"
#include "com._bg.cpp"
#include "tchar.h"

using namespace std;

int _tmain(int argc, _TCHAR *argv[])
{
printf("Hello\n");

getch();

err = openCom(8, 9600, NONE,1,RTSDTRLOW);

if (err != OK)
{
closeCom();

printf("Failed to OpenPort\n");

return 0;
}

最佳答案

类型转换不会改变字符串的底层编码。如果您需要为以 char * 字符串表示的文件或设备名称调用 CreateFile,请显式或通过更改来使用 CreateFileA您的项目设置为不使用 Unicode。

当然,如果您确实想将 char * 字符串传递给 CreateFile。更明智的选择是将 name 的类型从 char 更改为 wchar_t(Windows平台类型为 WCHAR)。

关于CreateFile(ComX...) 错误 C2664 : 'CreateFileW' :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55855615/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com