C++ schwer zu formulierende Frage .

iJerkface

Lieutenant
Registriert
März 2012
Beiträge
665
Ich will ein Prog. programmieren , bei dem ausgewählt wird , von welcher Zeichensprache (z.B. ASCII) in welche konvertiert werden soll (z.B. hex).
Also ASCII zu Hex , Hex zu ASCII , Hex zu Oct usw.

a) Wenn ich den eingelesenen Text in hex ausgeben möchte geht das ja ungefähr so :
cout << hex << string << endl;

Nur werden die Zeichen zwar in Hex Konvertiert , jedoch stehen die ganzen Zahlen nebenienander.
Wie bekomme ich es hin , das ein Zeichen konvertiert wird , dann ausgegeben wird , dann ein Zeilenumbruch , und dann das nächste Zeichen konvertiert , und wieder mit Zeilenumbruch ausgegben wird?

Also mit Beispielzahlen :

string schinken ;
cin >> schinken ;
cout << hex << schinken << endl;
68 // Das "s"
43 // das "h"
25 // das "c"
77 // das "i"
23 // das "n"
12 // das "k"
98 // das "e"
73 // das "n"

Also möchte ich erreichen , dass die Zeichen einzeln konvertiert und ausgegeben werden.

Frage b) Welche Formate gibt es , und wie werden sie in C++ geschrieben , wenn ich sie im Kompiler schreiben möchte ,um ASCII in die jeweiligen Formate zu konvertieren ?
Ich kenne : ASCII & hex , wenn es in C++ so verwendet wird , dann auch oct. (octale)

MfG iJerkface.
 
Also das solltest du dann hauptsächlich zu Fuß machen.
Sonst für dein "schinken"
Code:
string schinken="schinken";
for(size_t i=0;i<schinken.length();++i)
cout<<hex<<(int)schinken[i]<<endl;

Zu b)
Also Wenn du ASCII verwenden willst, dann einfach in "" einfassen.
Wenn du spezielle Zeichen verwenden willst, dann mit \ also \x07 etwas ist das Zeichen 0x07.

C++ selbst kann dezimale Zahlen, hexadezimale Zahlen (0x...) und oktale Zahlen (0...), der Rest ist komplett dein Brot.
 
Kannst du die "for"-Funktion erklären? Ich habs nicht ganz verstanden , wofür das alles da steht.

Ich meinte eigentlich , in was außer Hex man den String noch umwandeln könnte.

Trotzdem erstmal danke :)
 
Kannst du schon programmieren oder willst du es lernen?
Ne for-Schleife gehört zu den elementarsten Dingen beim Programmieren:
for( Deklaration der Laufvariable(n); Abbruchbedingung; Schritt für nächsten Index){
Befehl;
}

Man kann ein string in alles umwandeln, was du willst, du kannst ein Bild darin speichern und das dann ausgeben, deiner Phantasie sind keine Grenzen gesetzt.
Ein string ist eine Folge von Zeichen, sonst nichts.
 
Ich bin noch am lernen , bringe es mir aber mehr oder weniger selber bei ,
weil die ganzen Tuts nicht erklären wozu alles da ist , sondern einfach nur die SourceCodes sagen und man solls abschreiben.

Was heißt in diesem Fall das size_t?
 
Das size_t wird irgendwo in den Standardheadern definiert und ist in der Regel (aber nicht immer) nichts anderes als ein unsigned int.
Man könnte jetzt natürlich unsigned int schreiben, aber
1. ist es lang
2. ist es ja nicht immer ein uint.
Daher gibt es mehere soche sog. typedef's welche für bestimmte Zwecke definiert wurden, also size_t für die Größe, time_t für eine Zeit etc.
 
Ich wollte eig. wissen , wozu das gebraucht wird :D
 
Zurück
Oben