gpt4 book ai didi

c++ - 无名类或对象或函数,代码的含义

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:45 31 4
gpt4 key购买 nike

看不懂函数的意思

size_t WriteCallback(char *contents, size_t size, size_t nmemb, void *userp)
{
((std::string*)userp)->append((char*)contents, size * nmemb);
return size * nmemb;
}

我试图在 C++ 上运行简单的 curl 函数,以便在 ue4 中使用。Curl 工作正常,但我正在尝试读取响应,将响应接收到字符串中,因为它有点像 js ajax。

找到解决方案 from here

在 xcode 中,c++ 工作正常

但是在ue4中:

使用 std::string

    ((std::string*)userp)->append((char*)contents, size * nmemb);
/Users/Documents/Unreal Projects/curlTest/Source/curlTest/curlTestCharacter.cpp:114:7: error: no member named 'string' in namespace 'std'; did you mean 'cString'?

使用字符串:

    ((cString*)userp)->append((char*)contents, size * nmemb);
/Users/Documents/Unreal Projects/curlTest/Source/curlTest/curlTestCharacter.cpp:114:15: error: expected expression

试图找出原因,但不知道上面的功能,它是如何工作的,如果xcode运行正常那么那么,为什么会这样。匿名函数、指针和c++的一些特性?

如何更人性化或更轻松地使用此代码,以及如何处理错误?

没有数学,没有加法 - 减法,var 或 func,class 或 object,如果这段代码是什么意思

((std::string*)userp)->append((char*)contents, size * nmemb);

而且我仍然没有找到如何像 ajax 那样简单地接收 curl 响应,这仍然可以工作,但它是如何工作的,我该如何使用它?

任何帮助,两天试图弄清楚,试图简单地运行我以前在命令行和 php 代码中使用的 curl

最佳答案

size_t WriteCallback(char *contents, size_t size, size_t nmemb, void *userp)
{
((std::string*)userp)->append((char*)contents, size * nmemb);
return size * nmemb;
}

如果没有任何进一步的上下文,我猜这是一个库(也许是 curl?)正在调用的回调,让您处理接收到的数据。 contents是字符串数据本身,sizenmemb描述字符串中有多少数据(size 是每个字符的宽度,nmemb 是字符数,也许?),userp是您在调用生成对此回调的调用的函数时可能传入的自定义数据指针。我猜你打算返回你处理的字节数。

对于这个特定的函数,我猜你传递的是一个 std::string指针。每当该库收到数据时,它就会将其附加到您的 std::string 中。 .

((std::string*)userp)->append((char*)contents, size * nmemb);
/Users/Documents/Unreal Projects/curlTest/Source/curlTest/curlTestCharacter.cpp:114:7: error: no member named 'string' in namespace 'std'; did you mean 'cString'?

这是由于不包含 header 引起的 - 添加 #include <string>在源文件的顶部。

((cString*)userp)->append((char*)contents, size * nmemb);
/Users/Documents/Unreal Projects/curlTest/Source/curlTest/curlTestCharacter.cpp:114:15: error: expected expression

看来 cString类没有名为 append 的成员函数.您必须查看 cString的头文件或查阅其文档以确定要使用的适当函数是什么。

关于c++ - 无名类或对象或函数,代码的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58430921/

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