только atoi возвращает первую цифру параметра char * [duplicate]

0

При запуске моей программы с параметром 15, atoi возвращает 1. Atoi возвращает только первую цифру. Это должно произойти? Как мне обойти это?

int _tmain(int argc, char* argv[])
{
    int a = atoi(argv[1]);
}
Теги:
atoi

2 ответа

0

Переход от _tmain к основному исправил проблему.

  • 2
    Если вы используете _tmain вы должны также использовать TCHAR вместо char и _ttoi вместо atoi
0

Он должен преобразовать всю строку, завершенную NUL:

#include <iostream>
#include <stdlib.h>

int main() {
    std::cout << atoi("15");
}

результат:

15
  • 0
    это сработало правильно. Кажется, мой argv странный .. Он делал это до использования компьютеров в этой библиотеке, но я не помню, как я решил это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню