Linux-Konsole ; CLS nicht gefunden " - Fehler
Ich versuche zu kompilieren eines C-Projekt, das ich schrieb, während ich windows benutzt. Ich bin versucht zu kompilieren gleiche Projekt mit den gleichen IDE (Code::Blocks) in Linux (Ubuntu 12.04). Ich habe mehrere System("CLS")
Funktionen in mein Programm. Aber die linux-Konsole sagt
sh: 1:CLS: not found
Segmentation fault (core dumped)
Ich habe <stdlib.h>
und <stdio.h>
(und natürlich einige).
- Was ist
System()
? - Wenn Sie möchten, dass Ihr code portabel ist, können Sie nicht aufrufen, beliebige system-Kommandos, die möglicherweise oder möglicherweise nicht vorhanden, auf einem bestimmten system. In der Tat, Sie sollten nicht davon ausgehen, das system hat einen Bildschirm, bis Sie überprüfen, ob es funktioniert. Was wäre "CLS" tun, wenn Sie sprechen, line printer, text-to-speech-engine? Was würden Sie tun, wenn Sie Ihre Ausgabe wurde in eine Datei umgeleitet?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass der Befehl CLS besteht nur unter Windows. Für Linux ist der Befehl, den Sie wollen, ist:
clear
.Egal, das wird das problem nur teilweise lösen: a) du wirst das gleiche problem haben, wenn Sie den port Ihres Programms auf eine windows-Maschine, und b) es gibt keinen Grund, für, die, um zu produzieren ein "segmentation fault".
Den
system
Befehl führt shell-Befehle auf dem lokalen system.cls
ist eine gültige DOS - /Windows-Befehl, aber es existiert nicht auf Linux. Dieclear
Befehl unter Linux eine ähnliche Funktionalität bietet.Den segmentation fault deutet Sie nicht richtig Umgang mit dem Fehler.
CLS ist eine alte MS-DOS-Befehl wahrscheinlich nicht gefunden werden auf Ihrem Linux-Rechner. Sie sollten sich nicht auf das laichen einen anderen Prozess zum löschen deiner Konsole text für Sie. Sie können rufen
clear
oder verwenden Sie ANSI-escape-codes, um die Arbeit für Sie tun. Weder sind tragbar, aber beide sind zu sehen in der breiten Nutzung.