Страница 1 из 1
Геморой с преобразованием INT в char*
Добавлено: 15 июн 2003, 06:34
Anonymous
Народ!!! Вся надежда только на вас. Очень срочно необходимо победить проблему (см. сабж). Уже перепробвано куча способов для ентого преобразования, но при попытке вывести результат преобразования (переменную типа char *) вываливается ошибка segmentation fault.
Кто встречался с таким или знает как можно обойти, расскажите, пожалуйста.
заранее премного благодарен.
Добавлено: 15 июн 2003, 07:06
_kirya85
Не совсем понятно, что ты пытыешся сделать. Если хочешь символьное предстовление числа, то это делается по-другому, например с помощью sprintf, хочеш вывести на экран - printf, хочеш получить указатель (char*) на число - (char*)&a, где a - int.
Добавлено: 15 июн 2003, 07:17
kas
Извиняюсь за орфографию - я ещё не проснулся

Добавлено: 15 июн 2003, 07:23
Anonymous
Я хочу из
INT p = 1234
получить CHAR *m = (char *)p;
но, чтобы это после cout << m, не выдавала ошибку Segmentation fault.
Добавлено: 15 июн 2003, 07:32
kas
Ты пытаешся вывести адрес?
Добавлено: 15 июн 2003, 07:41
kostaLom
kuza писал(а):Я хочу из
INT p = 1234
получить CHAR *m = (char *)p;
но, чтобы это после cout << m, не выдавала ошибку Segmentation fault.
Нет прав на чтение страницы в памяти?
Добавлено: 15 июн 2003, 07:57
Anonymous
Мне надо передать в подпрограмму параметр char *, чтобы он потом вывел на экран содержимое, а то, что мне надо передать находится в INT.
Добавлено: 15 июн 2003, 10:52
Llama
Как я понял, тебе хочется получить строковое представление числа?
Из 123 получить строку "123"
Добавлено: 15 июн 2003, 12:46
kas
int p=123;
char* m="%d";
sprintf(m,p);
cout << m;
Добавлено: 16 июн 2003, 12:11
Lynxer
Я его понял так, что у него указатель хранится в переменной типа INT (вероятно, то же, что и встроенный тип int), и он хочет этот указатель преобразовать в указатель на char.
Короче, вопрос сформулирован нихрена не понятно. Не указан ни язык (для С и С++ решения могут быть разными), ни расшифровка типов (вдруг у тебя INT - это unsigned long long), ни желаемый результат преобразования. Или желаемый результат - это указатель лишь бы куда типа char* ? Тогда результат достигнут. Segmentation fault - правильная реакция системы на разыменовывание указателя черти куда.
Короче, kuza, иди в форум для чайников и читай тему "Настоятельно рекомендуется для прочтения".