atoi в c ++ приводит к ошибке сегментации

Ниже приводится фрагмент кода, который предполагает проверку связи с сервером и получение от него изображения:

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.

Пожалуйста, помогите !!!

0
задан whomaniac 24 January 2012 в 22:48
поделиться