Buchstaben hochzählen lassen?
-
Hi,
ich würde gerne Buchstaben hochzählen lassen, um damit in meiner
SQL-Abfrage weiter arbeiten zu können.
Ich brauche praktisch Ergebnisse wie aaa, bbb, ccc aber eben auch später
in weiteren Durchläufen sowas wie abcde, bcaef,aabsa usw.Nun stelle ich mir die Frage, wie man das ohne viel Gewurschtel am besten
angeht. Ich habe folgendes bisher versucht:for(int zahl=64;zahl<91;zahl++) { char zeichen; zeichen = (int)zahl; MessageBox(zeichen); }
Jetzt müsste man es ja bis zur Unkenntlichkeit verschachteln,
um theoretisch alle Buchstabenkombinationen ermitteln zu könnenGibt es da evtl. einen besseren Weg für?
-
-
was willst du denn bruteforcen? ^^
-
Lass das doch SQL machen - CONCAT sei ein stichwort...
-
TGGC schrieb:
Mit Rekursion z.b.
Aber warum nicht etwas lesbarer: for( char c='A'; c <= 'Z'; ++c )?
Wo sind die Makros für bedingte Compilierung? Das geht auf einigen Plattformen mächtig in die Hose.
-
~john schrieb:
TGGC schrieb:
Mit Rekursion z.b.
Aber warum nicht etwas lesbarer: for( char c='A'; c <= 'Z'; ++c )?
Wo sind die Makros für bedingte Compilierung? Das geht auf einigen Plattformen mächtig in die Hose.
Hmm vll sollte man noch explizit nach short casten,
aber static_cast<short>('A') sollte eigentlich imo auf kein Plattform Probleme verursachen. Deswegen ist es ja ein Char- und kein Stringliteral.Oder kannst du ein Beispiel, am besten mit Grund, warum es da nicht gehen sollte, nennen?
-
~john schrieb:
TGGC schrieb:
Mit Rekursion z.b.
Aber warum nicht etwas lesbarer: for( char c='A'; c <= 'Z'; ++c )?
Wo sind die Makros für bedingte Compilierung? Das geht auf einigen Plattformen mächtig in die Hose.
uups.
#if 'i'+1!='j' #error Hose #endif for( char c='A'; c <= 'Z'; ++c )
Welche Plattformen?
-
Was anderes:
Der Pre-Inkrementoperator sollte in dieser Schleife von TGGC durch einen Post-Inkrementoperator getauscht werden, falls man alle Buchstaben von A-Z haben will und nicht die Chars von 'B' -> ('Z'+1) ...Zumindest falls mich meine Sinne nicht ganz verlassen haben
-
branleb schrieb:
Zumindest falls mich meine Sinne nicht ganz verlassen haben
Haben sie, und zwar vollständig. :p
Die Wahl von Prä- oder Postfixoperator spielt nur in dem Ausdruck eine Rolle, in dem die Inkrementierung vorgenommen wird. Und zwar entscheidet sich dadurch, ob der alte oder der bereits inkrementierte Wert zurückgegeben wird.
Hier ist das irrelevant, da kein umschliessender Ausdruck vorkommt. Zudem finde ich es im Bezug auf Iteratoren konsistenter, für For-Inkrementierungen die Präfix-Version zu nehmen.
-
Hmm, stimmt, das wird ja erst am Ende der Schleife ausgeführt...
Dann ist es tatsächlich egal, sorry...
-
~john schrieb:
TGGC schrieb:
Mit Rekursion z.b.
Aber warum nicht etwas lesbarer: for( char c='A'; c <= 'Z'; ++c )?
Wo sind die Makros für bedingte Compilierung? Das geht auf einigen Plattformen mächtig in die Hose.
warum?
-
Nexus schrieb:
Zudem finde ich es im Bezug auf Iteratoren konsistenter, für For-Inkrementierungen die Präfix-Version zu nehmen.
sieht aber iwie, ähm, gay aus.
mfg
ga++x
-
~john schrieb:
TGGC schrieb:
Mit Rekursion z.b.
Aber warum nicht etwas lesbarer: for( char c='A'; c <= 'Z'; ++c )?
Wo sind die Makros für bedingte Compilierung? Das geht auf einigen Plattformen mächtig in die Hose.
Auf welchen?