вы могли бы работать над отступом ... и много думать о других проблемах в этом коде.

я есть

int i = 6;

и я хочу

char c = '6'

по конверсии. Любой простой способ предложить?

РЕДАКТИРОВАТЬ: Также мне нужно сгенерировать случайное число и преобразовать его в символ, затем добавить «.txt» и получить к нему доступ в ifstream.

 yozhik07 янв. 2011 г., 22:48
char * c = itoa (i, 10);

Ответы на вопрос(2)

но ваш вопрос, кажется, предполагает, что этого может быть достаточно.

Это работает путем добавления значения ASCII символа'0' до целой цифры.

int i=6;
char c = '0'+i;  // now c is '6'

Например:

'0'+0 = '0'
'0'+1 = '1'
'0'+2 = '2'
'0'+3 = '3'

редактировать

Непонятно, что вы имеете в виду под «работой на алфавиты»? Если вы хотите 5-ю букву алфавита:

int i=5;
char c = 'A'-1 + i; // c is now 'E', the 5th letter.

Обратите внимание, что, поскольку в C / Ascii, A считается0-я буква алфавита, я делаю минус 1, чтобы компенсировать обычно понимаемое значение 5-й буквы.

Отрегулируйте в зависимости от конкретной ситуации.
(а такжетест тест тест! любой код ты пишешь)

 EboMike07 янв. 2011 г., 19:45
char c = 'A'+i.
 user96324107 янв. 2011 г., 19:44
Круто, сработает ли это для алфавитов?
 iOS12 авг. 2013 г., 14:10
Как int i = 345; будет работать здесь?
 user96324107 янв. 2011 г., 20:00
Смущает выбор между маленькими и заглавными буквами.
 EboMike07 янв. 2011 г., 20:06
Ну, вы должны сказать нам, что вы хотите. «Работа для алфавитов» на самом деле не очень описательная.
Решение Вопроса

Прямой способ:

0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
char aChar = digits[i];

Более безопасный способ:

char aChar = '0' + i;

Общий способ:

itoa(i, ...)

Удобный способ:

sprintf(myString, "%d", i)

C ++ путь: (взято из ответа Dave18)

std::ostringstream oss;
oss << 6;

Босс путь:

Джо, напиши мне конвертер int в char

Стадбосс путь:

char aChar = '6';

Путь Джо:

char aChar = '6'; // int i = 6;

Путь наса:

// Ожидание ответа от спутника ...

Путь инопланетянина: «9»

//Приветствую.

Божий путь:

Брю я это построил

Путь Питера Пэна:

char aChar;

switch (i)
{
  case 0:
    aChar = '0';
    break;
  case 1:
    aChar = '1';
    break;
  case 2:
    aChar = '2';
    break;
  case 3:
    aChar = '3';
    break;
  case 4:
    aChar = '4';
    break;
  case 5:
    aChar = '5';
    break;
  case 6:
    aChar = '6';
    break;
  case 7:
    aChar = '7';
    break;
  case 8:
    aChar = '8';
    break;
  case 9:
    aChar = '9';
    break;
  default:
    aChar = '?';
    break;
}

Путь Деда Мороза:

//Wait till Christmas!
sleep(457347347);

Путь гравитации:

//Какая

'6' (Джерси) Майки '™ путь:

//

ТАК путь:

Ребята, как мне избежать чтения руководства новичка по C ++?

Мой метод:

или шоссе.

Комментарий: я добавил Handy way и C ++ (чтобы иметь полную коллекцию) и сохраняю это как вики.

Редактировать: доволен?

 Andrew01 сент. 2017 г., 02:52
Вот и вы! :)
 TomeeNS08 окт. 2017 г., 12:57
ХОРОШО. Все еще не знаете, как легко преобразовать целое число = 31345 в строку ascii? Кстати: char * digits = "0123456789"; char aChar = * цифры + я;
 AbstractDissonance27 июн. 2016 г., 00:01
Насчет пути Джо? Или путь Насы? или чужой путь? Или боги кстати? Или Питер Панс кстати? Как насчет пути Санта-Клауса? Или гравитация? Вы должны начать список? Может быть, проверить это дважды на случай, если вы что-то пропустили?
 cb8801 авг. 2016 г., 22:01
@AbstractDissonance можно получить с помощью Mikes Way ™ ... Мне нравятся некоторые майки из Джерси.
 g33kz0r01 мая 2013 г., 20:10
Вы имели в виду «босс», как в вышестоящей, но я читал это как «босс», как в «Брюс Спрингстин этобоссВозможно, вы могли бы пересмотреть для этого случая?

Ваш ответ на вопрос