• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

fehlermeldung in eclipse

tak3

Jonathan
Registriert
21.01.07
Beiträge
81
hey hab ein problem mit eclipse. möchte ein c programm schreiben was auch soweit klappt.
wenn ich die befehle system("CLS"); oder system("PAUSE"); verwende zickt er rum und spuckt dies aus:
sh: CLS: command not found
sh: PAUSE: command not found

kann keine anderen befehle verwende so machen wir es in der schule. aber unter win mit dev c.
vll weiss hier jemand was ich falsch mach und wie man es beheben kann ?:-c
 
Dann sag dem Lehrer mal, er soll auf PlattformUNABHÄNGIGE Befehle zurückgreifen, und nicht auf Windows-only-Befehle.
Dev-C++ ist außerdem eine veraltete IDE.

Außerdem ist system(); in C(++) für sowas triviales sowieso schlechter Stil.

(Der Befehl um den Bildschirm in der Konsole zu leeren ist unter Unix/OSX "clear", das Equivalent zu "pause" ist mir gerade entfallen)
 
thx für deine antwort

also bekomm ich wahrscheins system befehle nich zum laufen ? muss ich mir dann win installieren um das so hinzubekommen wie der das will ?^wär ja mies:P
 
Die Befehle werden von system() unverändert an die Konsole übergeben. Wenn du dort dann Windows-Befehle eingibst, werden diese unter OSX sehr wahrscheinlich nicht funktionieren.
 
aso also grad 2 veränderungen mehr is das nich ?
 
Statt system("PAUSE"); kannst du auch mal getchar(); ausprobieren. Hier wartet das Programm (Win und Unix) auf eine Eingabe im Stream. Du mußt ja den char-Wert keiner Variablen zuweisen.

Edit: oder auch fgetc(stdin);
 
hey hab ein problem mit eclipse. möchte ein c programm schreiben was auch soweit klappt.
wenn ich die befehle system("CLS"); oder system("PAUSE"); verwende zickt er rum und spuckt dies aus:
sh: CLS: command not found
sh: PAUSE: command not found

kann keine anderen befehle verwende so machen wir es in der schule. aber unter win mit dev c.
vll weiss hier jemand was ich falsch mach und wie man es beheben kann ?:-c

Unter Eclipse braucht man diese Befehle auch nicht. Dev-Cpp macht für Programm-Ein-und Ausgaben ein Konsolenfenster auf, wenn das Programm ordnungsgemäß wieder beendet wird, allerdings auch gleich wieder zu. Alles was man daher von seinem Programm sieht, ist nur ein kurzes Zucken auf dem Bildschirm. mit SYSTEM("pause") kann man die Konsole anhalten, bis man alles gesehen hat. System("clr") löscht zwar den Bildschirm, aber wenn man das ernsthaft braucht, sollte man besser andere Bibliotheken verwenden.

Eclipse hat sein eigenes Konsolenfenster, wo einfache E/A (cin, cout) gemacht werden kann. Vorteil, da kann man auch später drin scrollen und sich älteres anschauen. SYSTEM(irgendwas) macht da sowieso keinen Sinn, soweit es E/A betrifft.

@The-Kenny:
Soo einfach ist eine konsolenorientierte E/A nicht mit plattformunabhängigen Befehlen zu lösen, schon gar nicht, wenn man mit gcc arbeitet. Außerdem finde ich, dass Dev-Cpp vor allem für Anfänger gar nicht so schlecht ist, es ist wesentlich einfacher und durchsichtiger zu bedienen als z.B. Eclipse. Und für Anfänger sind deine Argumente (veraltet, Wondows, Plattform) unsinnig, weil nicht wirklich nachvollziehbar.

Ich stelle meinen Studenten die Wahl der IDE immer frei, es kommt ja in Wahrheit auf das Programm an, das sie schreiben müssen. Die IDE ist nur ein Werkzeug, und das sollte für Anfänger immer so simpel wie möglich sein (was man leider von Eclipse nicht unbedingt behaupten kann).
;-)
 
Die von mir in Beitrag #6 erwähnte Methode sollte eigentlich auf allen Systemen funktionieren.
 
@Herbschi
Ok, bin von C ausgegangen.
Wie wäre es mit der <cstdio>-Bib. :-D

------

In C++ gibt es eine ähnliche Lösung (a la getchar()).
char c;
cin.get(c);

Ta daaa :-D
Mann siehe und staune - dies funktioniert ebenfalls auf allen Systemen
 
@Herbschi
Ok, bin von C ausgegangen.
Wie wäre es mit der <cstdio>-Bib. :-D

------

In C++ gibt es eine ähnliche Lösung (a la getchar()).
char c;
cin.get(c);

Ta daaa :-D
Mann siehe und staune - dies funktioniert ebenfalls auf allen Systemen

OK, passt. Bin ich einverstanden mit. :-p

Trotzdem braucht man das Konstrukt mit Eclipse im Prinzip gar nicht, da die IDE ein Eingabefenster und ein Ausgabefenster automatisch zu Verfügung stellt. Darin kann man sogar nach Programmbeendigung scrollen und wenn das System gut gelaunt ist, plaziert es bei Eingaben sogar den Cursor richtig. ;-)

Aber mal eine ganz andere Frage: Im Gegensatz zu den diversen Behauptungen sind meine neuen Macs (ein iMac und ein MacBook) ohne die versprochenen CDs mit dem Entwicklungssystem ausgeliefert worden. Macht es Sinn, zu reklamieren oder soll ich mir das Ding einfach herunterladen? (Mir widerstebt nur, dass ich mich da bei der Apple Developer's Site anmelden muss, auch wenn's nix kostet.)
 
Ich würde reklamieren.
Ruf mal bei der Service-Hotline an.
Eventuell gibts zu den CDs/DVDs auch noch eine Gutschrift.
 
Im Gegensatz zu den diversen Behauptungen sind meine neuen Macs (ein iMac und ein MacBook) ohne die versprochenen CDs mit dem Entwicklungssystem ausgeliefert worden.
Die Xcode Tools sind nicht auf einer eigenen Scheibe, sondern in einem Ordner der System DVD. Sollte eigentlich nicht zu übersehen sein, wenn man die System DVD einlegt.

Macht es Sinn, zu reklamieren oder soll ich mir das Ding einfach herunterladen? (Mir widerstebt nur, dass ich mich da bei der Apple Developer's Site anmelden muss, auch wenn's nix kostet.)
Nein, Sinn macht es in keinem Fall, es ergibt höchstens Sinn. Es ist aber völlig sinnlos deswegen anzurufen. Die mitgelieferte Version ist möglicherweise schon veraltet, weshalb ein Download schon sinnvoll sein kann.

MacApple