@eb:
zum include: nein, du kannst es nicht weglassen; "string" ist Teil der STL (
Standard Template Library); ist einen Datentypen und Algorithmen Library für C++ und ist bei jedem guten Compiler dabei; und deren include-files haben tatsächlich keine .h Endung; es gibt also wirklich die datei "string" im Include Verzeichnis
zum Datentyp "string": nein, den gibt es in C nicht; renee hat also C++ code gepostet. der Datentyp string ist eine Klasse der STL (
Strings in SGI STL
zu "char": char ist auch kein string; es representiert ASCII-Zeichen - hat also Platz für 8-bit - ASCII Werte zwischen 0 und 127 entsprechen den Dezimal Werten 0 und 127... die ASCII Zeichen zwischen 128 und 255 entsprechen den Werten -1 und -127...
die negative Werte resultieren daraus, dass char ein "signed" - also vorzeichenhaftiger - Datentyp ist... wenn du "unsigned char" benutzt, hast du die Möglichkeit die ASCII Wert zwischen 0 und 255 einfach dirch die Zahlen 0 und 255 darzustellen...
char ae = 'ä';
if(ae == -5) printf("(ae == -5) okay\n");
if(((unsigned char)ae) == 132) printf("(((unsigned char)ae) == 132) okay\n");
if(ae < 0) printf("(ae < 0) okay\n");
if(ae & 128) printf("(ae & 128) okay\n");
Have fun! :)