Respostas:
http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
CURLINFO_RESPONSE_CODE Passe um ponteiro para um long para receber o último código HTTP ou FTP recebido. este opção era conhecida como CURLINFO_HTTP_CODE na libcurl 7.10.7 e anterior. este será zero se nenhum código de resposta do servidor for recebido. Observe que um A resposta CONNECT do proxy deve ser lida com CURLINFO_HTTP_CONNECTCODE e não isso.
curl_code = curl_easy_perform (session);
long http_code = 0;
curl_easy_getinfo (session, CURLINFO_RESPONSE_CODE, &http_code);
if (http_code == 200 && curl_code != CURLE_ABORTED_BY_CALLBACK)
{
//Succeeded
}
else
{
//Failed
}
A outra resposta está absolutamente correta, mas eu também gostaria de acrescentar que pode não ser sensato verificar o código de erro manualmente, o 200
código não é o único código que significa sucesso.
Eu recomendo o uso da opção libcurl CURLOPT_FAILONERROR que, quando ativada, fará com que libcurl considere 400
e 500
-category status uma falha de solicitação e não retornará CURLE_OK
da execução.