Undefined reference to setLocale (C)


#1

Hallo.

In der Schule programmieren wir grade mit C. Ich wollte Tausendertrennzeichen hinzufügen und hab nach längerer googlei (Meine lehrerin hatte auch kp) ne Möglichkeit gefunden:

#include <locale.h>

main() {

	float umsatz;
	float provision = 500;

	setLocale(LC_NUMERIC, "de_DE.UTF-8");

	printf("Wie viel Umsatz haben Sie getätigt?: ");
	scanf("%f", &umsatz);

	if (umsatz >= 100000) {
		provision = provision + umsatz * 0.02;
	} else  if(umsatz >= 50000) {
		provision = provision + umsatz * 0.01;
	}

	printf("Ihre Provision beträgt %'.2f Euro.
", provision);

}```

Als Beispiel. Letztes mal funzte das auch problemlos, nur daheim und seit heute auch heute in der Schule nicht mehr, sowie diversen online-Compilern. Es kommt immer oben genannte Fehlermeldung. Hatte das Problem schonmal mit Math.h, da hat beim compilieren mit gcc ein -lm geholfen (-l = linken, m der name der bib), allerdings hab ich 0 Plan wie die Bib für die locale heißt und google sagt auch 0 außer Standard-bib....

Wer ne Ahnung?

#2

Hab zwar keine Ahnung von C, aber habe nach der Methode gegoogelt. Es sieht so aus, dass Du einen Schreibfehler in der Methode hast. Jedenfalls scheint die Methode so zu heißen “setlocale”, also mit KLEINEM L.


#3

… doofe Java-Angewohnheit fällt mir hier zum Opfer. Hab ich bei allen Funden nicht entdeckt… Danke