色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json 天氣預報

錢斌斌1年前11瀏覽0評論

在我們的日常生活中,天氣預報對我們的生活產生著很大的影響。為了獲取最新、最準確的天氣預報信息,我們可使用C語言中的JSON。

#include#include#include#includeint main(void)
{
CURL *curl = curl_easy_init();
if(curl) 
{
const char *url = "http://api.openweathermap.org/data/2.5/weather?q=Shanghai&appid=API_KEY";
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, url);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
printf("curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
else {
char *data;
long code;
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code);
curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &code);
printf("Response code: %ld\n", code);
if(code >0) {
data = (char *) malloc(code + 1);
curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &data);
curl_easy_getinfo(curl, CURLINFO_DATA_OUT, &data);
printf("Content type: %s\n", data);
printf("Data received: %s\n", data);
json_object *root = json_tokener_parse(data);
json_object *temp, *description, *city;
json_object_object_get_ex(root, "main", &temp);
json_object_object_get_ex(root, "weather", &description);
json_object_object_get_ex(root, "name", &city);
double t;
json_object *temp_value;
json_object_object_get_ex(temp, "temp", &temp_value);
t = json_object_get_double(temp_value);
printf("\nCity: %s\n", json_object_get_string(city));
printf("Temperature: %.2f degrees celsius\n", t-273);
json_object *description_value = json_array_get_idx(description, 0);
printf("Description: %s\n", json_object_get_string(json_object_object_get(description_value, "description")));
}
}
curl_easy_cleanup(curl);
}
return 0;
}

在上述代碼中,我們使用了cURL和JSON-C這兩個庫。JSON對象在此處用于解析Open Weather Map API返回的JSON數據。

在CURL中,我們首先指定要獲取的URL。然后通過使用CURLOPT_URL選項來設置URL,并使用curl_easy_perform()函數來執行該請求。我們解析JSON對象以讀取所需的值,如城市名、溫度和天氣情況等信息。最后,我們釋放CURL句柄并返回0。

使用C語言中的JSON,我們可以輕松地獲取天氣預報數據,從而滿足我們對最新、最準確的天氣預報信息的需求。