Форум программистов, компьютерный форум CyberForum.ru

Массив int из char - C++

Восстановить пароль Регистрация
 
seruy-t
 Аватар для seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
16.03.2012, 19:16     Массив int из char #1
Как сделать массив int из троих char q,w,e ?
Делаю
C++
1
int arr []= {atoi(q),atoi(w),atoi(e) }
Вылетает туча ошибок (
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HeHyA4o
1 / 1 / 0
Регистрация: 17.10.2011
Сообщений: 46
16.03.2012, 19:20     Массив int из char #2
Если не ошибаюсь то между "[" и "]" нужно указать длину массива, в твоем случае это (вроде) 2, если не ошибаюсь то счет идет с 0, т.е 0(q),1(w),2(e).
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
16.03.2012, 20:24     Массив int из char #3
q, w, e это стоки в С-стиле? Если да, то достаточно добавить ; в конце.
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
16.03.2012, 21:13     Массив int из char #4
seruy-t, прототип функции atoi смотрим тут http://cplusplus.com/reference/clibrary/cstdlib/atoi/:
C
1
int atoi ( const char * str );
она подходит только для строк. См. http://cplusplus.com/reference/clibrary/cctype/
цифры в ASCII начинаются с кода 0x30
можно сделать так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main(void)
{
   char q, w, e;
   
   q = '4';
   w = '9';
   e = '7';
   
   int arr []= {q - 0x30, w - 0x30, e - 0x30};
   int i;
   for (i = 0; i < 3; i++)
   {
      printf("arr[%d] = %d\n", i, arr[i]);
   }
   
   return 0;
}
вывод
Код
arr[0] = 4
arr[1] = 9
arr[2] = 7
http://liveworkspace.org/code/e9d3cc...668a955ed047ba - тут можно проверить
Yandex
Объявления
16.03.2012, 21:13     Массив int из char
Ответ Создать тему
Опции темы

Текущее время: 08:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru