Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 23.03.2010, 00:48   #1
Raptor
Форумчанин
 
Регистрация: 24.11.2007
Сообщений: 50
Репутация: 10
По умолчанию Конверт 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; 23.03.2010 в 00:58.
Raptor вне форума   Ответить с цитированием
Старый 23.03.2010, 00:51   #2
Hacker19_90
Delphi Warrior
Профессионал
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Адрес: Виртуальная реальность
Сообщений: 2,497
Репутация: 353

icq: 636954303
По умолчанию

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 вне форума   Ответить с цитированием
Старый 23.03.2010, 00:55   #3
Raptor
Форумчанин
 
Регистрация: 24.11.2007
Сообщений: 50
Репутация: 10
По умолчанию

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

icq: 397-859-360
По умолчанию

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

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

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

icq: 636954303
По умолчанию

А цифры скольки значные!!! Просто если 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, 01:04   #7
Raptor
Форумчанин
 
Регистрация: 24.11.2007
Сообщений: 50
Репутация: 10
По умолчанию

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

icq: 397-859-360
По умолчанию

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

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


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

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

Цитата:
Сообщение от 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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перевести значение ячейки массива char в int в Си SASS Общие вопросы C/C++ 1 10.12.2009 15:44
из char в int AxenicX Помощь студентам 2 16.11.2009 23: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 12:17


04:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.