Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как перевести int в char?  (Прочитано 53419 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pаv
Гость
« : 17-04-2004 15:19 » 

Сабж
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #1 : 17-04-2004 15:23 » 

если тебе нужно из int сделать 2 char то можно так
int i;
char c1,c2;

c1=((char*)&i)[0];
c1=((char*)&i)[1];

или так если тебе из 1 int -> 1 char

int i;
char c;

c = (char) i;

если преобразовать в строку то непомню
а ваще в C++ есть еще методы приведения типов
Записан

Странно всё это....
pаv
Гость
« Ответ #2 : 17-04-2004 15:48 » 

3-ий способ (используется в современный компиляторах):

static_cast<тип>(переменная)

У меня в Турбо С++ недейстует Жаль

А вообще мне нужно 4-ех значное число преобразовать в строку...
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #3 : 17-04-2004 16:04 » 

используй sprintf или snprintf тот который может вернуть строку вместо вывода в фаил/экран
пример:
int i;
char string [255];
snprintf(string,254,"%d",i);
Записан

Странно всё это....
Roman123
Гость
« Ответ #4 : 20-04-2004 07:44 » 

Цитата: LogRus
используй sprintf или snprintf тот который может вернуть строку вместо вывода в фаил/экран
пример:
int i;
char string [255];
snprintf(string,254,"%d",i);


sprintf как и printf старый С-ишный способ к тому же опасный по отношению к типам (не проверяется количество и типы аргументов).
В С++ лучше так

#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int main()
{
   ostringstream os;
   os << 4;
   string s = os.str();// превратим поток в строку
   cout << '|' << s << '|' << endl;
}
Записан
xAL
Гость
« Ответ #5 : 04-05-2004 02:50 » 

Цитата: LogRus
используй sprintf или snprintf тот который может вернуть строку вместо вывода в фаил/экран

Или itoa - как раз перевод int-а в символьное представление числа в произвольной системе счисления.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines