-1

Windowsを使用しているときに作成したCプロジェクトをコンパイルしようとしています。Linux(Ubuntu 12.04)で同じIDE( Code :: Blocks )を使用して同じプロジェクトをコンパイルしようとしています。System("CLS")プログラムで使用する関数がいくつかあります。しかし、Linuxコンソールには、と(そしてもちろんいくつか) が含まれていると表示されます。
sh: 1:CLS: not found
Segmentation fault (core dumped)

<stdlib.h><stdio.h>

4

3 に答える 3

15

問題は、コマンドCLSがWindowsにのみ存在することです。Linuxの場合、必要なコマンドは次のとおりclearです。

とにかく、それは問題を部分的にしか解決しません:a)プログラムをWindowsマシンに移植した場合にも同じ問題が発生し、b)セグメンテーション違反が発生する理由はありません。

于 2012-11-14T17:37:20.757 に答える
4

このsystemコマンドは、ローカルシステムでシェルコマンドを実行します。 clsは有効なDOS/Windowsコマンドですが、Linuxには存在しません。Linuxのclearコマンドは、同様の機能を提供します。

セグメンテーション違反は、エラーを正しく処理していないことを示しています。

于 2012-11-14T17:36:09.393 に答える
0

CLSは古いMS-DOSコマンドであり、Linuxマシンにはない可能性があります。コンソールテキストをクリアするために別のプロセスを生成することに依存しないでください。ANSIエスケープコードを呼び出すclearか使用して、作業を行うことができます。どちらもポータブルではありませんが、どちらも広く使用されています。

于 2012-11-14T17:36:34.557 に答える