本文主要是介绍从string引起的串扰bug说起,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近遇到一个低概率问题, 具体问题就不详细说了, 只简要说说: 拉取某接口失败(低概率), 做重复拉取一次的动作, 第二次成功, 但后台给客户端返回的值始终不对, 花了一番功夫, 才查出原因。 这个问题非常隐蔽, 来看看:
#include <iostream>
#include <stdio.h>
#include "curl.h" // 请自己负责添加curl头文件和库
using namespace std;static size_t downloadCallback(void *buffer, size_t sz, size_t nmemb, void *writer)
{string* psResponse = (string*) writer;size_t size = sz * nmemb;psResponse->append((char*) buffer, size);return sz * nmemb;
}int main()
{string strUrl = "http://www.baidu.com";string strTmpStr = "xxxxxx"; // 假设这是第一次拉取失败时, 得到的响应// 第二次拉取CURL *curl = curl_easy_init();curl_easy_setopt(curl, CURLOPT_URL, strUrl.c_str());curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1L);curl_easy_setopt(curl, CURLOPT_TIMEOUT, 2);curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, downloadCall
这篇关于从string引起的串扰bug说起的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!