Ниже приводится фрагмент кода, который предполагает проверку связи с сервером и получение от него изображения:
bool testPICcomm(){
Poco::Logger &logger = Poco::Logger::get("PictureTester");
logger.setLevel(Poco::Message::PRIO_DEBUG);
HttpClient* h = new HttpClient(host, 80);
std::map<std::string, std::string> headers;
Poco::UTF8Encoding utf;
Encoder encoder(utf);
h->connect();
h->sendHttpRequest(askForPic,"","",0,0);
if((h->getHttpHeaders(headers, encoder)) == false)
{
logger.debug("Couldn't Retrieve Headers "+ false);
h->close();
return false;
}
logger.debug("got headers");
//get head data
std::string mime = headers["Content-Type"];
logger.debug("mime type:" + mime);
logger.debug("length string: " + std::string((headers["Content-Length"]).c_str()));
int length= atoi((headers["Content-Length"]).c_str());
logger.debug("pic length:" + length);
...
Я использую eclipse на linux (eclipse работает не слишком хорошо, поэтому я работаю только на консоли).
Теперь, следуя сообщениям регистратора, я делаю вывод, что atoi (посмотрите на конец кода) вызывает ошибку сегментации.
Что это действительно странно, учитывая, что другая функция testXMLcomm работает нормально и выглядит похожей.
Я, конечно, включил stdio и stdlib.
Пожалуйста, помогите !!!