gpt4 book ai didi

c++ - 与 "LPCWSTR"类型的参数不兼容

转载 作者:可可西里 更新时间:2023-11-01 16:51:31 25 4
gpt4 key购买 nike

#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <iostream>
#include <dos.h>
using namespace std;

class Dir
{
public:
char* cat;
Dir()
{
cout << "(C:/*)\n";
cat = new char[50];
cin >> cat;
}

void virtual ShowFiles()
{
}

};


class Inside : public Dir
{
public:
void virtual ShowFiles()
{
HANDLE hSearch;
WIN32_FIND_DATA pFileData;

hSearch = FindFirstFile(cat, &pFileData);
if (hSearch != INVALID_HANDLE_VALUE)
do
{
// if ((pFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
cout << pFileData.cFileName << "\n";
} while (FindNextFile(hSearch, &pFileData));
FindClose(hSearch);
}
};
int main()
{
Dir *obj1[2];
obj1[1] = new Inside;
obj1[1]->ShowFiles();
return 0;
}

所以我有一个程序,我需要用动态字符显示目录中的所有文件,但它可以在 Borland C++ 中编译,但在 Visual Studio 15 + Resharper 中它不起作用。 严重性代码描述项目文件行“char *”类型的错误(事件)参数与“LPCWSTR”类型的参数不兼容

最佳答案

要在 Visual C++ 中编译您的代码,您需要使用多字节字符 WinAPI 函数而不是宽字符函数。

项目 -> 属性 -> 高级(或旧版本的常规)-> 字符集选项设置为使用多字节字符集

also see the screenshot

关于c++ - 与 "LPCWSTR"类型的参数不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33001284/

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