Ascii - код символа?
Заранее спасибо!!!
ну то есть:
char sym = 'a';
int i = (int)sym;
дык цифровое значение переменной и есть код символа...
ну то есть:
char sym = 'a';
int i = (int)sym;
А зачем преобразовывать?
printf("%d", sym);
char sym = 'a';
Label->Caption = sym; // будет а
Label->Caption = (int)sym; // будет 97
ну незачем на самом деле... это для наглядности, ну и смотря как использовать. например, если тебе надо вывести код не в консоль, а в какой-нть гуевый компонент, то проще преобразование в int сделать.
char sym = 'a';
Label->Caption = sym; // будет а
Label->Caption = (int)sym; // будет 97
Большое спасибо что-то я об это не подумал! На самом деле просто ситуация такая - нужно просто закодировать строку, и я хотел брать код сомвола и проделать с ним логический сдвиг, к примеру на 3 вправо. Так де ведь можно (ну не прибегая к разным адгоритмам шифрования)?
может быть они и сами переносятся - просто точно не помню как оператор сдвига работает :(
да можно, то можно... токо вот не будут ли теряться разряды? ну, допустим, сдвинул ты вправо - часить разрядов, которые были на этих 3-х правых позициях пропадет? а как их потом восстановить? надо по идее переносить их в 3 левые позиции после сдвига... как-то так...
может быть они и сами переносятся - просто точно не помню как оператор сдвига работает :(
Во! Я как раз работаю над проблемой шифрования! Один из оптимальных вариантов - выполнять логическую операцию "поразрядное исключающее ИЛИ" (XOR) над кодом каждого символа (операция ^) с любым другим символом. Для обратного преобразования достаточно снова выполнить XOR над этими же символами. Ключом к шифрованию будет как раз тот "любой другой символ".
P.S. Для более сложного шифрования можно еще вдобавок просто уменьшать или увеличивать значение кода каждого символа на определенное число.
Во как!
работаю в Turbo C 3.0
в графическом режиме читаю символ
c=getch();
необходимо преобразовать его из Ascii-кода в char
для последующего вывода на экран и добавления в другую строку
такое преобразование не прокатывает
outtextxy(x, y, (char)c);
или подскажите аналог Паскалевской функции ord для C
Заранее спасибо!
Можно немного подробнее, уважаемый.
Как мне заставить это работать???
while (c!=13)
{
c=getch();
outtextxy(x+5, y+5, (char)c);
}
Спасибо за помощь.
Второй вариант. Строка из одного символа. Функции чтения символа скармливаем указатель на первый элемент. Оба варианта по сути равнозначны.
Второй вариант. Строка из одного символа. Функции чтения символа скармливаем указатель на первый элемент. Оба варианта по сути равнозначны.
Реализовал второй вариант:
while (c[0]!=13)
{
c[0]=getch();
outtextxy(x+5, y+10, c);
}
to aks и Vov4ick
Спасибо за помощь и за то что откликнулись.
Плюс не равнозначно с точки зрения языка и кривого приведения типов.