好的,所以我想停止询问关于如何做大多数编程工作的很多问题,因为我的大多数问题都给出了答案,说“阅读MSDN”创立here.事实上,我不知道如何阅读它或大多数编程语言。例如,让我们在MSDN上找到FtpCreateDirectory函数(你可以找到here)
现在,假装我刚学会了这个功能,我想尝试一下。我如何阅读它,如何获取它向我显示的功能/命令。我该如何输入?这个reallt无济于事:
BOOL FtpCreateDirectory(
_In_ HINTERNET hConnect,
_In_ LPCTSTR lpszDirectory
);
谢谢!
答案 0 :(得分:1)
我自己没有用过这个,但让我们一步一步地举一个例子:
HINTERNET hinternet = InternetConnect(...); //assume hinternet is valid
if (!FtpCreateDirectory(hinternet, "C:\\example")) {
std::cerr << "Error creating FTP directory. Code: " << GetLastError();
}
一步一步:
HINTERNET
句柄。怎么样?好吧,文档说这个参数:使用INTERNET_SERVICE_FTP上次调用InternetConnect返回的句柄。
这就是我在示例中调用InternetConnect
的原因。
Windows Data Types
文章,您可以看到它需要CONST WCHAR *
或CONST CHAR *
,具体取决于是否定义了UNICODE
。为简单起见,我的行为似乎并非如此,尽管您可以使用TEXT
宏来根据UNICODE
使字符串文字宽或窄。 指向以null结尾的字符串的指针,该字符串包含要创建的目录的名称。这可以是完全限定的路径,也可以是相对于当前目录的名称。
正如我们所看到的,它只是一条路径,所以我传入了一个示例路径。这只是一个示例,但请记住备注部分对此参数的说明。
如果成功则返回TRUE,否则返回FALSE。要获取特定的错误消息,请调用GetLastError。 (更多未显示)
因此,我们将调用包装在if语句中以捕获错误,我们可以检索使用GetLastError
的代码。使用每个函数文章中描述的错误处理技术很重要。他们中的很多人说,如果出现错误,您可以使用GetLastError
,但有些不支持GetLastError
使用,有些则支持不同类型的错误检索功能,因此请务必遵守相关指南各个功能。
除此之外,_In_
表示参数进入,之后没有用。这与_Out_
相反,这意味着您将传入已分配的内存并且函数将写入它,因此您可以在函数调用后使用函数写入的值来使用它。
答案 1 :(得分:0)
在MSDN的引用部分中,基本假设您了解API集的上下文。
如果你想要win32 c(++)编程,那么你需要阅读一个介绍做windows编程/ win32。目前尚不清楚您感兴趣的领域是什么,您是否正在尝试编写桌面应用程序,服务器,驱动程序等....
在某些情况下,像Charles Petzold编程窗口这样的经典书籍是一个很好的起点。 MSDN也有很多介绍级别的东西(谷歌'开始win32编程')