Хе-хе... Такая вот фигня. Сразу скажу - гугл я не юзал и сразу признаю что я полный чайниг. но все таки ЧЁ ЗА ХЕРНЯ? Кто помочь может?
Компилятор плохой, однако... На С++ 2005-й студии получил двадцать как и положено. И ещё: atoi() может использовать внутренние структуры и если они чем-то запорчены (предыдущим кодом, например) - естественно всё падает. Попробуй вызвать тот же (atoi ("20")) код сразу после входа в main(). Если сработает - где-то есть код, портящий стандартную библиотеку.
AsmGuru62 Хех...в том то и дело что все что ты назвал у меня и не работает 1) компилятор - VS 8 2) В другой ф-ции программы atoi вызывается неоднократно и работает нормально 3) пробовал в начале main - не работает... бред какой то...
Green_DiCk -858993460 = 0xCCCCCCCC - напоминает неинициализированные данные у Микрософта. Попробуй обявить переменную типа char* char* s = "20"; и потом передать ее в качестве аргумента int n = atoi(s);
crypto Ну я так и делаю сопсно... эт я здесь написал для ясности atoi("20") на самом деле у меня передаётся указатель на char - массив из трех символов, последний как полагается 0х0. В дебагере смотрел - все нормально - то есть передается именнно то что нужно. вот за это я временами и ненавижу программирование....
Все. Отставить. Не зря я себя чайником в первом посте проинициализировал. Так оно и есть. Я бряк не там поставил. Так что atoi работает. Прога правда глючит но это уже совсеи другая история... Что примечательно я вчера от нефиг делать зашел в комнату "Компьютеры" на chat.mail.ru - там тоже пара кодеров тусовалась. Спросил свой вопрос. Они проверили - та же фигня.... вообщем я не один такой. вообщем всем спасибо. проблема снята.