gpt4 book ai didi

c++ - 在 Visual C++ 2010 中制作提取/编译程序但有错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:46:57 25 4
gpt4 key购买 nike

我正在为游戏构建 .SM2 和 .RM2 提取器/编译器,但我在处理代码时遇到了问题。我完全没有C++经验,代码是原作者给出的源代码。即使不是我编辑的他的原始文件也有错误,但他仍然制作了程序。有人可以帮我解决错误吗?

Errors:

Error1: error C2664: 'CreateDirectoryW' : cannot convert parameter 1 from 'const char [25]' to 'LPCWSTR'

Error2: error C2664: 'CreateDirectoryW' : cannot convert parameter 1 from 'char *' to 'LPCWSTR'(X3)

Error4: error C2664: 'FindFirstFileW' : cannot convert parameter 1 from 'char [256]' to'LPCWSTR'

Error5: error C2440: 'initializing' : cannot convert from 'WCHAR [260]' to 'char*'

这是我的代码,显然有错误:

CreateDirectory(".\\TESTFOLDER\\TESTFOLD2ER", NULL);   (This is for Error 1)

CreateDirectory(string, NULL);
break; (This is for Error2)


if ((hdl = FindFirstFile(asteriskpath, &data)) == INVALID_HANDLE_VALUE)
return; (For Error3)

char* filename = data.cFileName;
char current_dir[256]; (For Error4)

请帮忙,谢谢, 卡梅伦 萨瓦亚

最佳答案

方法 1:将您的项目字符设置设置为使用多字节字符集:

Configure Properties > General > Project Defaults > Character Set > Use Multi-Byte Character Set


方法二:

  • 对于错误 1/2/4:

    在传递给 CreateDirectory() 之前,您应该先将 char[] 转换为 wchar_t[] (对于您的错误 1,与其他错误类似错误 2 和 4),因为它们使用不同的字符编码类型。尝试使用 %hs 标志的 swprintf

    例子:

    wchar_t  ws[100];
    swprintf(ws, 100, L"%hs", ".\TESTFOLDER\TESTFOLD2ER");
  • 对于错误 5:

    可以使用wcstombs函数将wchar_t[]转换为char[],引用here .


关于c++ - 在 Visual C++ 2010 中制作提取/编译程序但有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20865265/

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