1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

fehlermeldung in eclipse

Dieses Thema im Forum "OS X-Developer" wurde erstellt von tak3, 02.09.08.

  1. tak3

    tak3 Jonathan

    Dabei seit:
    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
     
  2. The-Kenny

    The-Kenny Transparent von Croncels

    Dabei seit:
    22.05.08
    Beiträge:
    307
    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)
     
  3. tak3

    tak3 Jonathan

    Dabei seit:
    21.01.07
    Beiträge:
    81
    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
     
  4. The-Kenny

    The-Kenny Transparent von Croncels

    Dabei seit:
    22.05.08
    Beiträge:
    307
    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.
     
  5. tak3

    tak3 Jonathan

    Dabei seit:
    21.01.07
    Beiträge:
    81
    aso also grad 2 veränderungen mehr is das nich ?
     
  6. CamDam

    CamDam Doppelter Prinzenapfel

    Dabei seit:
    15.06.08
    Beiträge:
    439
    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);
     
  7. Herbschi

    Herbschi Jamba

    Dabei seit:
    19.08.08
    Beiträge:
    56
    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).
    ;)
     
  8. CamDam

    CamDam Doppelter Prinzenapfel

    Dabei seit:
    15.06.08
    Beiträge:
    439
    Die von mir in Beitrag #6 erwähnte Methode sollte eigentlich auf allen Systemen funktionieren.
     
  9. Herbschi

    Herbschi Jamba

    Dabei seit:
    19.08.08
    Beiträge:
    56
    Wenn man #include <stdio.h> mitverwendet, ja. Wenn man aber ein C++-Programm mit cin/cout verwendet, ist das sehr unelegant ... o_O
     
  10. CamDam

    CamDam Doppelter Prinzenapfel

    Dabei seit:
    15.06.08
    Beiträge:
    439
    @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
     
  11. Herbschi

    Herbschi Jamba

    Dabei seit:
    19.08.08
    Beiträge:
    56
    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.)
     
  12. CamDam

    CamDam Doppelter Prinzenapfel

    Dabei seit:
    15.06.08
    Beiträge:
    439
    Ich würde reklamieren.
    Ruf mal bei der Service-Hotline an.
    Eventuell gibts zu den CDs/DVDs auch noch eine Gutschrift.
     
  13. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    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.

    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
     

Diese Seite empfehlen