Moin pl,
Je nach Zeichenkodierung des Quelltexts funktioniert also
char e = '€';Das funktioniert nur, wenn die Quelldatei in einer Kodierung gespeichert ist in welcher das Zeichen genau ein Byte hat!
Sonst meldet der Kompiler einen Fehler
warning: multi-character character constant [-Wmultichar]
Das ist eine Warnung, kein Fehler. Um mit gcc daraus einen Fehler zu machen, musst du noch -Werror angeben.
Microsofts C++-Compiler warnt bei UTF-8 übrigens
euro-utf8.c(3): warning C4305: 'initializing': truncation from 'int' to 'const char'
Der Beispielcode, jeweils in ISO-8859-15 sowie UTF-8 gespeichert:
#include <stdio.h>
const char e = '€';  /* Zeile 3 */
int main(void) {
	printf("%c / %x\n", e, e);
	return 0;
}
Die Ausgaben:
- ISO-8859-15: ñ / ffffffa4–0xa4ist dort der Code für€
- UTF-8: ¼ / ffffffac–0xacist dort das niederwertigste Byte von€, siehe https://de.wikipedia.org/wiki/UTF-8#Beispiele
Viele Grüße
Robert
 nicht angemeldet
 nicht angemeldet Matthias Apsel
 Matthias Apsel Auge
 Auge Rolf B
 Rolf B