Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Приведение массива символов к числу


Автор: Serbis 19.12.2010, 14:33
Мне необходимо преобразовать массив символов в целое число. В массиве содержится дата в символьном виде. Глупый конечно вопрос, но как привести char[3] к int? Присваивание и atoi естественно выдают несовместимость типов.
Код

        int dt;
        getlocaltime(loctime);
       char year[3];
       strftime(year, 3, "%d",  loctime);
       dt = year;  //Нужно преобразовать char в int

Автор: Crafty 19.12.2010, 15:23
Должна atoi работать
Код

#include <iostream>
#include <ctime>
#include <cstdlib>
int main()
{
  time_t rawtime;
  struct tm * timeinfo;
  char buffer [80];

  time ( &rawtime );
  timeinfo = localtime ( &rawtime );

  int dt;
  char year[3];
  strftime(year, 3, "%d",  timeinfo);
  dt = atoi(year);  //Нужно преобразовать char в int
  std::cout << dt << std::endl;
}


http://liveworkspace.org/code/0dbc202a97f686b68e728409d2438606

PS чтобы год выводило используй %y а не %d.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)