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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 87, средняя оценка - 4.79
SiNn3R
0 / 0 / 0
Регистрация: 19.09.2008
Сообщений: 10
#1

Конвертация int в char и обратно - C++

23.09.2008, 19:33. Просмотров 11124. Ответов 7
Метки нет (Все метки)

Помогите, я запутался...

Есть 2 переменных:
int a;
char b;

Допустим a = 0. Нужно преобразовать ее в символ, чтобы b = '0'.
И наоборот b = '8', тогда a = 8.

Если я пишу так:
a = char(b);

То получаю код символа...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2008, 19:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конвертация int в char и обратно (C++):

Конвертация qint64 в int и обратно - C++
Здравствуйте, делаю программу и возникла необходимость конвертации qint64 в int и обратно. Как можно это делать? гугление не помогло

Конвертация int в char - C++
Как конвертировать int в char

Конвертация из int в char - C++
есть длина строки которая int или даже 8 байтный long, но если в ней число < 255 то мне нужно её положить в 1 байт (char), но тут...

Конвертация int в char* - C++
Доброго времени суток!!! Пытаюсь конвертировать int в char* стандартными средствами c++. Приложение компилируется, но вовремя выполнения...

Преобразование int char и обратно - C++
надо разложить число на два байта... unsigned char ghj; int fff = 11111; ghj = fff / 256; ghj = fff - (ghj * 256); //обратно ...

Конвертация числа в строку (int to char) - C++
Подскажите, какими процедурами пользоваться, каков синтаксис и формат введенных данных. Скажем есть char row; int t=25, n=9; каким...

7
qwone
9 / 9 / 1
Регистрация: 18.08.2008
Сообщений: 129
23.09.2008, 19:52 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int main(){
 
int a=75,b_int;
char a_char,b='A';
b_int=(int)b;  
a_char=(char)a;
cout<<a_char <<"\t"<<b_int<<endl;
    
    return 0;
}
запусти и догадайся !
0
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
23.09.2008, 21:05 #3
ищем материалы по itoa() и atoi()
1
Sined
9 / 7 / 2
Регистрация: 30.08.2008
Сообщений: 120
23.09.2008, 22:11 #4
Цитата Сообщение от Spo1ler Посмотреть сообщение
ищем материалы по itoa() и atoi()
По ходу Spo1ler, прав.

А у тебя qwone, будет выводиться код символа, а не сам символ цыфры

Темболее он привел пример.
Цитата Сообщение от SiNn3R Посмотреть сообщение
Если я пишу так:
a = char(b);
0
XuTPbIu_MuHTAu
Эксперт С++
2226 / 741 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
23.09.2008, 22:19 #5
Код
b= '0'+a // если а от нуля до девяти получишь нужный код символа.
В типе char символы '0'..'9' идут подряд.


угадай,как наоборот.
0
qwone
9 / 9 / 1
Регистрация: 18.08.2008
Сообщений: 129
23.09.2008, 22:28 #6
Так как функция itoa не входит в стандарт, наиболее правильным является использование стандартных функций:
  • sprintf(str, "%d", value); преобразует к десятичному виду.
  • sprintf(str, "%x", value); преобразует к шестнадцатиричному виду.
  • sprintf(str, "%o", value); преобразует к восьмеричному виду.
смотри http://ru.wikipedia.org/wiki/Itoa

а воoбще у меня такой проблемы никогда не стояло . поэтому я могу и ошибаться .
Если бы налез бы на нее .то знал бы верный ответ.
0
Sined
9 / 7 / 2
Регистрация: 30.08.2008
Сообщений: 120
24.09.2008, 20:15 #7
Цитата Сообщение от qwone Посмотреть сообщение
а воoбще у меня такой проблемы никогда не стояло . поэтому я могу и ошибаться .
Если бы налез бы на нее .то знал бы верный ответ.
В этом ты прав, но не каждый в этом признается...

Хотя можно и использовать itoa и atoi, смотря начем SiNn3R пишет.

Добавлено через 21 час 36 минут 53 секунды
Цитата Сообщение от XuTPbIu_MuHTAu Посмотреть сообщение
В типе char символы '0'..'9' идут подряд.
Это хорошо что одну цифру надо использовать, а если ряд цифр...
0
XuTPbIu_MuHTAu
Эксперт С++
2226 / 741 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
24.09.2008, 20:24 #8
А здесь идет речь как раз об одном символе... к тому же,этой инфы вполне хватит,чтобы сделать (в общеобразовательных целях) свой atoi / itoa
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2008, 20:24
Привет! Вот еще темы с ответами:

Надо перевести переменную типа unsigned char* в signed int и обратно - C++
у меня есть переменная типа unsigned char*, мне нужно перевести ее в signed int , провести арифметические вычисления и затем перевести ее...

Реализация функции char *padl(const char *string, int len, int c=' ') - C++
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...

Форматирование строк, char to int & int to char - C++
Покажите как запихнуть число в строку и вытащить его обратно из строки. Вот всё просто в pawn str_to_num(const str) // Тупо...

Как превести из char* в int и наоборот из int в char*? - C++
Как превести из char* aa='123' в int aa=123 и наоборот из int в char* . Понимаю что самому написать функцию не сложно, но наверняка это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
24.09.2008, 20:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru