atoi("20") == -858993460 - че за г?

Тема в разделе "WASM.HEAP", создана пользователем Green_DiCk, 7 окт 2007.

  1. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    Хе-хе... Такая вот фигня. Сразу скажу - гугл я не юзал и сразу признаю что я полный чайниг. но все таки ЧЁ ЗА ХЕРНЯ? Кто помочь может?
     
  2. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Компилятор плохой, однако...
    На С++ 2005-й студии получил двадцать как и положено.

    И ещё: atoi() может использовать внутренние структуры и если они чем-то запорчены (предыдущим кодом, например) - естественно всё падает. Попробуй вызвать тот же (atoi ("20")) код сразу после входа в main(). Если сработает - где-то есть код, портящий стандартную библиотеку.
     
  3. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    AsmGuru62
    Хех...в том то и дело что все что ты назвал у меня и не работает
    1) компилятор - VS 8
    2) В другой ф-ции программы atoi вызывается неоднократно и работает нормально
    3) пробовал в начале main - не работает...
    бред какой то...
     
  4. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Green_DiCk
    -858993460 = 0xCCCCCCCC - напоминает неинициализированные данные у Микрософта.
    Попробуй обявить переменную типа char*
    char* s = "20";
    и потом передать ее в качестве аргумента
    int n = atoi(s);
     
  5. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    crypto
    Ну я так и делаю сопсно... эт я здесь написал для ясности atoi("20") на самом деле у меня передаётся указатель на char - массив из трех символов, последний как полагается 0х0. В дебагере смотрел - все нормально - то есть передается именнно то что нужно. вот за это я временами и ненавижу программирование....
     
  6. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    Все. Отставить. Не зря я себя чайником в первом посте проинициализировал. Так оно и есть. Я бряк не там поставил. Так что atoi работает. Прога правда глючит но это уже совсеи другая история... Что примечательно я вчера от нефиг делать зашел в комнату "Компьютеры" на chat.mail.ru - там тоже пара кодеров тусовалась. Спросил свой вопрос. Они проверили - та же фигня.... вообщем я не один такой. вообщем всем спасибо. проблема снята.