Мне нужна функция, которая возвращает значение ASCII символа, включая пробелы, вкладки, символы новой строки и т.д.
На аналогичной ноте, какова функция, которая преобразует шестнадцатеричные, десятичные и двоичные числа?
Мне нужна функция, которая возвращает значение ASCII символа, включая пробелы, вкладки, символы новой строки и т.д.
На аналогичной ноте, какова функция, которая преобразует шестнадцатеричные, десятичные и двоичные числа?
char c;
int ascii = (int) c;
s2.data[j]=(char)count;
A char - целое число, нет необходимости в функциях преобразования.
Возможно, вы ищете функции, отображающие целые числа в виде строки - с использованием шестнадцатеричных, двоичных или десятичных представлений?
Вам не нужна функция для получения значения 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;
Аналогично fo hex valueswes - все числа являются шестнадцатеричными числами, поэтому это просто вопрос вывода:
int n = 42;
cout << n << " in hex is " << hex << n << endl;
"hex" в выходном выражении является манипулятором С++. Существуют манипуляторы для hex и decimal (dec), но, к сожалению, не для двоичных.
Что касается hex и двоичных - это просто представления целых чисел. То, что вы, вероятно, хотите, это что-то вроде printf ( "% d", n) и printf ( "% x", n) - первый печатает десятичную, а вторую - шестую версию того же номера. Уточните, что вы пытаетесь сделать -