Für mein Studium (Slavistik) muss ich oftmals kyrillischen (genauer: russischen) Text transkribieren. Und da denkt sich doch der frühere Informatiker, hier würde sich doch ein kleines C-Programm wunderbar ausnehmen! Als ersten Schritt möchte ich das ganze russische Alphabet in einem Array darstellen, und zwar immer zuerst Grossbuchstabe, dann Kleinbuchstabe, also: АаБбВвГгДд usw. Dies erledigt die Funktion get_cyrillic() für mich (siehe 35977).
Nun mein Problem: Die obere Schleife, die den Rückgabewert der Funktion get_cyrillic verwendet, funktioniert nicht. Sie gibt zunächst 'A' aus, dann auf der nächsten Zeile ein paar Fragezeichen, bricht danach aber ab. Die untere Schleife innerhalb der Funktion get_cyrillic, die ich nur zu Debugging-Zwecken dort eingefügt habe, funktioniert jedoch tadellos und gibt von Аа bis Яя alles fehlerfrei aus.
Mein bisheriger Verdacht war, dass das
Code: Alles auswählen
c++
Code: Alles auswählen
c += sizeof(wchar_t)
Als Compiler verwende ich tcc. Verwende ich gcc, komme ich immerhin bis zu АаБбВв. Dazu wird noch die Warnung ausgegeben, dass ich die Adresse einer lokalen Variable zurückgebe. Als Erklärung für meinen Dilettantismus darf ich beifügen, dass ich jahrelang als Java-Programmierer herumgehurt habe und nun von dieser Programmiersprache mit ihren Ansätzen (Factory-Methoden und solcherlei) völlig durchtrieben bin.
Danke und Gruss,
paedubucher