ASCII Zeichen zu Int Werten?
-
Hallo,
ich habe mehrere Probleme. 1.)Ich möchte einen String in seine einzelne Zeichen splitten und diese Zeichen dann jeweils einen ASCII Wert zuweisen.
2.)Die einzelnen ASCII Werte sollen dann in Arrays geladen werden, deren Anzahl
durch die Zeichenanzahl bestimmt wird.3.) Wie bekomme ich in Borland 5 das Memo1 aus dem Memofeld?
Danke
-
BlackTomCat schrieb:
Hallo,
ich habe mehrere Probleme. 1.)Ich möchte einen String in seine einzelne Zeichen splitten und diese Zeichen dann jeweils einen ASCII Wert zuweisen.
2.)Die einzelnen ASCII Werte sollen dann in Arrays geladen werden, deren Anzahl
durch die Zeichenanzahl bestimmt wird.3.) Wie bekomme ich in Borland 5 das Memo1 aus dem Memofeld?
Dankezu 1 & 2: ein String in C++ ( jedenfalls ein char ) besteht aus einem Array, in dem die ASCII Werte gespeichert sind.
zu 3: ka
-
Hallo BlackTomCat
Probiers mal hiermit:
#include <iostream> #include <string> using namespace std; int main() { string str; cout << endl << "\nBitte String eingeben: "; getline(cin, str); int *arr = new int[str.length()]; for(unsigned int i = 0; i < str.length(); i++) arr[i] = (int)str[i]; cout << "Umgewandelt in ASCII: "; for(unsigned int i = 0; i < str.length(); i++) cout << arr[i] << ", "; cout << endl << endl; return 0; }
Wie du das ganze jetzt aber ins Memo packst, weiß ich nicht, poste doch mal im "Borland-Forum" (Ich programmiere (bisher) nur auf Konsole)
Caipi
-
1. Du kannst die Funktion __toascii nehmen, oder aber auch direkt die Typumwandlung des Compilers nutzen.
int nAsc; nAsc = __toascii('A'); // ist 65 nAsc = 'A'; // dito
Aufsplitten ist nicht nötig, wenn man weiß, dass ein C-String sich auch als Array ansehen lässt.
char* szString = "Hallo"; int nAsc; char cZeichen; cZeichen = szString[0]; //ist H nAsc = szString[0]; // ist 72
2. Verstehe ich nicht ganz. Willst du die ASCII Codes als Bytes (hast du nämlich schon), oder willst du die Codes als Text in den Strings stehen haben?
Wenn ja, mit konstanter Breite(3) ?
-
Danke, das mit dem char zu int hat funktioniert. Aber das toascii leider nicht wirklich.
-
Es heißt ja auch __toascii.
Außerdem musst du natürlich auch den richtigen Header (ctype.h) miteinbinden.
-
BlackTomCat schrieb:
Aber das toascii leider nicht wirklich.
Was nicht wirklich verwunderlich ist, da ISO C++ kein toascii (oder auch __toascii) kennt.