In einer Multibyte Zeichenkette den Zeichentyp ermitteln
-
Hallo,
wie kann ich unter Linux prüfen, welcher Zeichentyp an einer bestimmten Stelle einer Zeichenkette vorhanden ist?
MSC stellt die Funktion isleadbyte() zur Verfügung, die dann so verwendet werden kann:
if( isleadbyte(mbs[5]) ) puts("Aha, hier ist ein Leadbyte"); else puts("Das hier ist entweder ein Singlebyte oder ein Trailbyte");
In der MSDN steht die Anmerkung, dass diese Funktion im ANSI-Standard enthalten ist. Ich kann sie unter Linux aber nirgendwo finden (in keiner include-Datei und in den man-pages auch nicht).
Ich verwende SuSE Linux 9.0.
Gruß,
Andreas
-
isleadbyte() ist so viel ich weiss ein makro, definiert in <ctype.h>
jedenfalls entnehm ich dass der Tabelle hier:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_isleadbyte.asp(erster google-link bei eingabe von isleadbyte())
-elvis
-
elve schrieb:
isleadbyte() ist so viel ich weiss ein makro, definiert in <ctype.h>
jedenfalls entnehm ich dass der Tabelle hier:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_isleadbyte.asp(erster google-link bei eingabe von isleadbyte())
-elvis
Das ist ja das Problem: Microsoft hat diese Funktion (oder das Macro), aber wo finde ich etwas ähnliches unter Linux? Dort ist es eben NICHT in ctype.h vorhanden.
-
ok, shame on me..
wie wärs damit?
http://linux.imp.mx/cvs-tmp/rpms/SOURCES/mozilla/xpcom/io/nsLocalFileOS2.cppda gibts ne implementation von isleadbyte(int)
-elvis