Mark: C-fopen Umlaute/Sonderzeichen

Beitrag lesen

Hallo,

ich habe ein Programm in ANSI-C geschrieben, habe jetzt aber noch ein Problem mit Sonderzeichen. Hier ein Auszug:

FILE *ptr;

		ptr = fopen("xxx.txt","rb");  
		  
	while((c = fgetc(ptr)) != EOF)  
	{  

		if(c==13)  
			printf("\n");  
		else  
			printf("%c", c);  
	}  

Er gibt bis auf die Sonderzeichen alles richtig aus. Wenn ich printf("%i", c); ausprobiere, werden mir für die Sonderzeichen negative Werte ausgegeben. Wie kann ich das bewerkstelligen, dass mir die richtigen Zeichen ausgegeben werden? Ohne, dass ich mir jetzt für alle Sonderzeichen einzeln die Werte anzeigen lasse und dann per if-Befehl umwandel?