Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 23:48   #1
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию Конверт int массива в char массив

Добрый вечер!
Помогите, пожалуйста, с советом: нужно переконвертировать массив Int в char массив. Задача осложняется тем что это под Linux.

Код:
char array[10], temp[1];
	int i,k;	
	for (i=0; i<10; i++)
	{
	k=rand()%10;
	sprintf(temp,"%d",k);
	array[i]=temp[0]; //проблема здесь 
	printf("%5d",array[i]);
 	}
Не выходит присвоить полученные элементы в temp массиву array.
При таком присвоении вместо чисел 0-9 в форме char получаю 54 56 58 и т д. Если же вывести (printf("%s",temp)) весь массив - то получаем нужное число в char форме.

Последний раз редактировалось Raptor; 22.03.2010 в 23:58.
Raptor вне форума Ответить с цитированием
Старый 22.03.2010, 23:51   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

atoi , itoa!!! Пользуйтесь
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 22.03.2010, 23:55   #3
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
atoi , itoa!!! Пользуйтесь
Вот в том то и дело что под линуксом itoa не работает.
Raptor вне форума Ответить с цитированием
Старый 22.03.2010, 23:55   #4
Secc
Пользователь
 
Аватар для Secc
 
Регистрация: 19.10.2009
Сообщений: 30
По умолчанию

оо интересно , а чем компилируешь?
Спасибо! Кэп!!
FORZA LAZIO e NON MOLLARE MAI !!

Последний раз редактировалось Secc; 22.03.2010 в 23:58.
Secc вне форума Ответить с цитированием
Старый 23.03.2010, 00:00   #5
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Secc Посмотреть сообщение
оо интересно , а чем компилируешь?
Linux Ubuntu 9.10, через terminal:
gcc test.c -o c.c
Raptor вне форума Ответить с цитированием
Старый 23.03.2010, 00:01   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

А цифры скольки значные!!! Просто если char , то однозначное число
тогда
char s = int i + 49;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 23.03.2010, 00:04   #7
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
А цифры скольки значные!!! Просто если char , то однозначное число
тогда
char s = int i + 49;
Цифры 0-9. Это определяет k=rand()%10;. Поэтому и использую вспомогательный массив с одним элементом.
Raptor вне форума Ответить с цитированием
Старый 23.03.2010, 00:06   #8
Secc
Пользователь
 
Аватар для Secc
 
Регистрация: 19.10.2009
Сообщений: 30
По умолчанию

а попробуй "_itoa" неможут быть чтобы вообще небыло этих функций..
Спасибо! Кэп!!
FORZA LAZIO e NON MOLLARE MAI !!
Secc вне форума Ответить с цитированием
Старый 23.03.2010, 00:08   #9
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Secc Посмотреть сообщение
а попробуй "_itoa" неможут быть чтобы вообще небыло этих функций..
Попробовал - но тот же результат. Так же в нете написано что это не стандартная функция С.


Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
А цифры скольки значные!!! Просто если char , то однозначное число
тогда
char s = int i + 49;
Можно поподробнее, я сравнил результаты k i temp[0] выходит что temp[0]=48+k.

Последний раз редактировалось Raptor; 23.03.2010 в 00:12.
Raptor вне форума Ответить с цитированием
Старый 23.03.2010, 00:09   #10
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Raptor Посмотреть сообщение
Цифры 0-9. Это определяет k=rand()%10;. Поэтому и использую вспомогательный массив с одним элементом.
Если элемент один, то зачем массив? О_о

Код:
char array[10];
int i;	
for (i=0; i<10; i++)
	array[i] = rand() % 10 + '0'; // вместо '0' можно 0x30(48 дес.)
netrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перевести значение ячейки массива char в int в Си SASS Общие вопросы C/C++ 1 10.12.2009 14:44
из char в int AxenicX Помощь студентам 2 16.11.2009 22:31
из char в int?? Mika Общие вопросы C/C++ 4 20.06.2008 15:18
перевод из int в массив char. Freeman Общие вопросы C/C++ 5 30.05.2008 17:49
Есть таблица - В ней три поля int, char, char нужно чтобы данные заносились в таблицу Mysql Muahahaha PHP 8 27.03.2008 11:17