#2
Edit: Uppala, so zu schnell gelesen. Habe ich dich richtig verstanden, dass du z. B. 06 als "ACK" oder als "^F" ausgeben lassen willst? Um das zu überprüfen gibts übrigens isprint bzw. iscntrl (0-32) aus ctypes. Für die non-printable Chars gibts afaik keinen Ausgabestandard, weswegen du beispielsweise auf Alt Codes zurückgreifen müsstest. Zuletzt bearbeitet: Dez 17, 2013
CDW
Moderator
Mitarbeiter
#4
Meine Frage war jetzt, ob man sich diese Abfrage auch irgendwie sparen kann und es einen Befehl gibt,
SB hat gesagt. :
siehe auch
man isprint hat gesagt. :
DESCRIPTION
The isprint() function tests for any printing character, including space
(' '). Wie man ASCII in C++ in Zeichen konvertiert | Delft Stack. The value of the argument must be representable as an unsigned
char or the value of EOF. RETURN VALUES
The isprint() function returns zero if the character tests false and
returns non-zero if the character tests true. Code:
#include ...
isprint(i)? printf("%c ", i): printf("??? ");
Ascii Tabelle Ausgeben C.E
d, i int als vorzeichenbehaftete Ganzzahl. %d und%i sind gleichbedeutend für die Ausgabe, unterscheiden sich aber, wenn sie mit scanf für die Eingabe verwendet werden (wobei die Verwendung von%i eine Zahl als hexadezimal interpretiert, wenn ihr ein 0x vorangestellt ist, und als oktal, wenn ihr eine 0 vorangestellt ist). u Dezimal ohne Vorzeichen drucken int. f, F doppelt in normaler (Festkomma-)Notation. f und F unterscheiden sich nur darin, wie die Zeichenketten für eine unendliche Zahl oder NaN gedruckt werden (inf, infinity und nan für f; INF, INFINITY und NAN für F). e, E doppelter Wert in Standardform ( ±dd). Rheinwerk Computing :: C von A bis Z – 5.11 Der Datentyp »char«. Eine E-Konvertierung verwendet den Buchstaben E (statt e) zur Einführung des Exponenten. g, G double entweder in normaler oder in exponentieller Notation, je nachdem, was für seine Größe besser geeignet ist. g verwendet Kleinbuchstaben, G Großbuchstaben. x, X ohne Vorzeichen int als Hexadezimalzahl. x verwendet Kleinbuchstaben und X Großbuchstaben. o unsigned int in oktal. s null-terminierte Zeichenkette.
char
Wie der Name char schon sagt, können wir damit Zeichen speichern. Welche Zeichen es gibt, ist mittels der ASCII-Tabelle festgelegt. Sie ist standardisiert und somit für alle Computer gleich. Aus der Tabelle erkennen wir, dass jedes Zeichen einen Code besitzt. So hat z. B. Ascii tabelle ausgeben c x. das Zeichen "A" den Code 65. Im nächsten Code-Beispiel erstellen wir eine char Variable mit den Namen zeichen. Diese setzen wir zuerst auf den Wert "A" mittels dem Zeichen selbst, hierfür muss das Zeichen in einfachen Hochkommas ' gestellt sein. In der nächsten Zeile verändern wir den Wert mittels dem ASCII-Code 66, was einem "B" entspricht. #include
int main() {
char zeichen;
zeichen = 'A';
zeichen = 66;
printf("Zeichen:%c\n", zeichen);
return 0;}
Es ist auch noch zu sagen, dass wir pro char Variable nur ein Zeichen speichern können.