C-Programm läuft nicht unter Unix

moin.

habe folgendes kleines programm geschrieben (ein programm zum würfeln von Zufallszahlen):

#include
#include
#include

int wuerfel()
{
return rand()%6+1;
}

int main(int argc, char *argv[])
{
char com[7];
srand(time(NULL));

while(1)
{
printf(„Bitte Aktion eingeben (wuerfeln oder exit): „);
scanf(“%s“,&com);

strlwr(com);
if( strcmp(com,„wuerfeln“)==0 || strcmp(com,„w“)==0)
{
printf(„Gewuerfelte Zahl: %d \n\n“,wuerfel());
}
else if( strcmp(com,„exit“)==0 || strcmp(com,„e“)==0)
{
return 0;
}
else
{
printf(„Unbekannter Befehl! Bitte geben Sie „wuerfeln“ oder „exit“ ein!\n\n“);
}
}
return 0;
}

unter windows funktioniert es, aber versuche ichs unter solaris zu kompilieren („gcc -c wuerfel.c“) und zu binden („gcc -o wuerfel wuerfel.o“), kommt ein fatal error (hier der putty-auszug):

rs0 aufgabe2 4 gcc -o wuerfel wuerfel.o
Undefined first referenced
symbol in file
strlwr wuerfel.o
ld: fatal: Symbol referencing errors. No output written to wuerfel
collect2: ld returned 1 exit status
rs0 aufgabe2 5 Undefined first referenced
Undefined: Command not found.
rs0 aufgabe2 6 symbol in file
symbol: Command not found.
rs0 aufgabe2 7 strlwr wuerfel.o
strlwr: Command not found.
rs0 aufgabe2 8 ld: fatal: Symbol referencing errors. No output written to wuerfel
ld:: Too many arguments.
rs0 aufgabe2 9 collect2: ld returned 1 exit status
collect2:: Too many arguments.

woran liegt das?
an der time.h? gibts die unter unix nicht?

Die Funktion „strlwr“ existiert nicht in ANSI-C!
Das muss etwas Spezielles sein, bspw. ist die Funktion wohl in einer Zusatz-Bibliothek o.ä. definiert, die beim gcc nicht zur Verfügung steht.

Gruß PHANTOM

mist…

ich hab jetzt in der zwischenzeit mal versucht die string.h einzubinden, aber das hat auch keinen effekt.

dummerweise muss ich dafür sorgen, dass die würfel-aktion ausgeführt wird auch wenn man großkleinschreibung falsch macht (z.B. „wuErFEln“). ist ne hausaufgabe…

jemand ne idee wie ich das erreichen kann? oder gibts so ne func in irgendner bibliothek, die ich unter solaris nutzen kann?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dann nimm tolower und toupper, wobei die glaub ich nur für ein Zeichen gehen. Musste halt über den String laufen.

Gruß PHANTOM

Dann nimm tolower und toupper, wobei die glaub ich nur für ein
Zeichen gehen. Musste halt über den String laufen.

Gruß PHANTOM

danke, mit tolower funktionierts wunderbar :smile: