Существует ли функция, которая возвращает значение символа в формате ASCII?(C++)
Вопрос
Мне нужна функция, которая возвращает ASCII-значение символа, включая пробелы, табуляции, новые строки и т.д...
Аналогичным образом, что это за функция, которая преобразует шестнадцатеричные, десятичные и двоичные числа?
Решение
char c;
int ascii = (int) c;
s2.data[j]=(char)count;
Символ является целое число, нет необходимости в функциях преобразования.
Может быть, вы ищете функции, которые отображают целые числа в виде строки - с использованием шестнадцатеричных, двоичных или десятичных представлений?
Другие советы
Вам не нужна функция для получения значения ASCII - просто преобразуйте в целое число с помощью (неявного) приведения:
int x = 'A'; // x = 65
int y = '\t'; // x = 9
Чтобы преобразовать число в шестнадцатеричное или десятичное, вы можете использовать любой из элементов printf
семья:
char buffer[32]; // make sure this is big enough!
sprintf(buffer, "%d", 12345); // decimal: buffer is assigned "12345"
sprintf(buffer, "%x", 12345); // hex: buffer is assigned "3039"
Нет встроенной функции для преобразования в двоичный файл;тебе придется свернуть свой собственный.
Если вы хотите получить ASCII-значение символа в вашем коде, просто заключите символ в кавычки
char c = 'a';
Возможно, вы путаете внутреннее представление с выводом.Чтобы увидеть, какое значение имеет символ:
char c = 'A';
cout << c << " has code " << int(c) << endl;
Аналогично с шестнадцатеричными значениями - все числа являются шестнадцатеричными, так что это просто вопрос вывода:
int n = 42;
cout << n << " in hex is " << hex << n << endl;
"Hex" в инструкции output является манипулятором C ++.Существуют манипуляторы для шестнадцатеричной и десятичной системы счисления (dec), но, к сожалению, не для двоичной системы счисления.
Что касается шестнадцатеричных и двоичных - это всего лишь представления целых чисел.Вероятно, вам нужно что-то вроде printf("%d", n) и printf("%x",n) - первый выводит десятичную, второй - шестнадцатеричную версию того же числа.Уточните, что вы пытаетесь сделать -