@Lysander : Möglicherweise gehört das jetzt nicht mehr hierher.
Mit meiner ungeschickten Ausdrucksweise wollte ich nur andeuten, das ich mich etwas schwer tue meine C Programme nach C++ zu migrieren.
Was sind denn die damit verbundenen Probleme? Und wie löst Du die dann selber mit kurzen eigenen Programmzeilen?
In einem Fall möchte ich z.B. die Ergebnisse von Programmen in der Konsole formatiert ausgeben. In einigen Textspalten kommen da manchmal Umlaute vor, die mir die Formatierung verbiegen, da die Byteanzahl ja nicht mehr identisch mit der Spaltenanzahl ist. Aus möglicherweise übertriebenem sportlichem Ehrgeiz habe ich darauf verzichtet die entsprechenden mb... Routinen zu bemühen und habe das Problem einfach durch folgendes gelöst:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | /* -------------------------------------------------------------------
** sende ein Multibyte Character und melde Byteanzahl zurueck
*/
int
mbc_out( char * s )
{
int i = 0;
char start_byte;
if ( *s < 0 ) {
start_byte = *s;
while ( start_byte & 0x80 ) {
fputc( *s++, stdout );
start_byte <<= 1;
i++;
}
return i;
}
fputc( *s, stdout );
return 1;
}
|
Das ist jetzt vielleicht eine etwas übertriebene Vorgehensweise, aber sie erweitert den persönlichen Horizont und das Versändnis für solche Codierungen. Ich denke, nur wenn man es mal probiert hat, weiss man, was da passiert.