如何阅读 MSDN 并申请
How do I read the MSDN and apply?
好的,所以我想停止问很多关于如何做大多数编程的问题,因为我的大多数问题都给出了"阅读MSDN"的答案。问题是,我不知道如何阅读它或大多数编程语言。例如,让我们以MSDN上的FtpCreateDirectory函数为例(你可以在这里找到(。
现在,假装我刚刚学会了这个功能,我想尝试一下。我如何阅读它,如何获取它向我显示的功能/命令。如何输入?这句话无济于事:
BOOL FtpCreateDirectory(
_In_ HINTERNET hConnect,
_In_ LPCTSTR lpszDirectory
);
谢谢!
我自己没有用过这个,但让我们逐步举个例子:
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_
相反,这意味着您将传入分配的内存,函数将写入它,因此您可以在函数调用后使用它与函数写入的值一起使用。
在 MSDN 的引用部分中,有一个基本假设,即您了解 API 集的上下文。
如果win32 c(++(编程是你想要的,那么你需要阅读一个介绍做Windows编程/win32。目前尚不清楚您感兴趣的领域是什么,您是否正在尝试编写桌面应用程序,服务器,驱动程序,....
在某些情况下,像Charles Petzold编程窗口这样的经典书籍是一个很好的起点。MSDN也有很多入门级的东西(谷歌"开始win32编程"(
- 循环后如何继续阅读
- 用c++阅读音频
- 函数何时会在c++中包含stack_Unwind_Resume调用
- Python中的for循环与C++有何不同
- 如何从QFile阅读?它显示该文件不可访问
- 我已经阅读了很多关于 2d 数组的信息,但我在作业中使用它时遇到了麻烦
- 有没有办法使用 c++ 实时阅读文本?
- 在C++中释放内存期间,迭代器与指针有何不同
- 阅读 QML 中结构C++ QVector 的 QVector
- 当QProcess需要用户使用Qt输入时,如何阅读
- 在 c++ 中逐行阅读字符串,不要以空格停止
- C++ 如何暂停控制台输出,以便用户可以在继续之前阅读信息
- 如何阅读两个单词,然后阅读C++中的一行?
- 是否可以使用 Python csv 阅读器读取使用 C++ std::setw 生成的文件?
- 标准对此指向成员函数类型模板参数有何说明?是我的代码有误,还是 MSVS 16.6 有问题?
- 我如何阅读简单的控制台输出
- 类中的 C++ int 被设置为值,似乎不知从何而来
- 非常快速地阅读 CSV 文件
- -fvisibility-inline-hidden 与 gcc 中的 -fvisibility=hidden 有何不同
- 如何阅读 MSDN 并申请