gpt4 book ai didi

c++ - Windows , WinInet C++ API

转载 作者:行者123 更新时间:2023-11-27 23:49:15 24 4
gpt4 key购买 nike

我正在尝试使用 FTP 从本地 FTP filezilla 服务器读取一些文件。但是我有点挣扎,这是我的代码:

#include<Windows.h>
#include<WinInet.h>
#include<iostream>

using namespace std;


HINTERNET hOpener, hCon, hFinder;
Handle hFile;
char buffer[2000] = "\0";
WIN32_FIND_DATA findData;

hOpener = InternetOpen(TEXT("Chrome"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, NULL);

hCon = InternetConnect(hOpener, TEXT("127.0.0.1"), INTERNET_DEFAULT_FTP_PORT, TEXT("anonymous"), TEXT("adminn"), INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, NULL);

hFinder = FtpFindFirstFile(hCon, NULL, &findData, INTERNET_FLAG_RELOAD, 0);

hFile = FtpOpenFile(hOpener, findData.cFileName, GENERIC_READ, FTP_TRANSFER_TYPE_ASCII, 0);

LPDWORD x = 0;
cout << InternetReadFile(hFile, buffer, 280, x);

但是,它应该打印 1 时却打印 0(基本上是读取有问题)。我在这里做错了什么?

最佳答案

您将 NULL DWORD* 指针传递给 InternetReadFile()lpdwNumberOfBytesRead 参数。您需要传递一个指向 DWORD 的指针。

改变:

LPDWORD x = 0;
InternetReadFile(..., x);

到:

DWORD x = 0;
InternetReadFile(..., &x);

关于c++ - Windows , WinInet C++ API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47823528/

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