Mathias Brodala: (C) Überschüssiges Leerzeichen

Beitrag lesen

Hallo dedlfix.

Was einfacher gesagt als getan ist. Zwar stieß ich bei meiner Suche auf mblen(), doch ist mir die Anwendung mangels guter Anwendungsbeispiele hierbei ein Rätsel.

Vorschläge und gute Links nehme ich dankend entgegen.

Wie wär es damit? http://www.google.com/codesearch?q=mblen

Konnte mir auch nicht wirklich weiterhelfen, da es sich bei den Suchergebnissen vorrangig um Definitionen der Funktion mblen handelt.

Doch letztendlich bin ich dann doch über weitere Suchen auf die Lösung gestoßen:

#include <stdio.h>  
#include <stdlib.h>  
#include <locale.h> // Für LC_CTYPE  
  
int main(void) {  
  
  setlocale(LC_CTYPE, "");  
  
  char a[] = "Ä";  
  char b[] = "B";  
  
  printf("a = %s (%d Bytes)\n", a, mblen(a, MB_CUR_MAX));  
  printf("b = %s (%d Bytes)\n\n", b, mblen(b, MB_CUR_MAX));  
  
  return EXIT_SUCCESS;  
}

Nun erhalte ich eine vielversprechende Ausgabe:

$ ./test
a = Ä (2 Bytes)
b = B (1 Bytes)

Nun muss ich das ganze nur noch für längere Zeichenketten hinbekommen …

Einen schönen Sonntag noch.

Gruß, Mathias

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
debian/rules