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

Перевод символа в число - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.86
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
18.09.2011, 17:09     Перевод символа в число #1
У меня такой вопрос. Необходимо прочитать из файла "input.txt" строку типа "D1", означающая координату на шахматной доске. Нужно первый символ (т.е. 'D') перевести в число согласно его порядку в английском алфавите. К примеру, для D это 4, для A это 1, для B это 2 и т.д. Я обычно пишу так:
C++
1
if(ch == 'A') i = 1;
Может в С++ есть более эффективный прием?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.09.2011, 17:11     Перевод символа в число #2
C++
1
int i = ch - 'A' + 1;
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.09.2011, 17:13     Перевод символа в число #3
Цитата Сообщение от adamo86 Посмотреть сообщение
Может в С++ есть более эффективный прием?
C
1
printf("%d\n", (int)'D'-'A');
adamo86
2 / 2 / 0
Регистрация: 10.04.2011
Сообщений: 185
18.09.2011, 17:13  [ТС]     Перевод символа в число #4
А если символ находится в переменной типа string (string s = "D1"). Как его от туда вытащить и перевести в число?
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.09.2011, 17:14     Перевод символа в число #5
Цитата Сообщение от adamo86 Посмотреть сообщение
если символ находится в переменной типа string
C++
1
s[0] - 'A';
Yandex
Объявления
18.09.2011, 17:14     Перевод символа в число
Ответ Создать тему
Опции темы

Текущее время: 12:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru