2

一般的なプログラミングコースと並行して、チュートリアルから C を学んでいます。コースのセットアップでは、Windows ユーザーに SciTE を使用するように勧められていたので、私はそうしました。おそらく Windows 8 を使用しているため、SciTE cpp.properties ファイルを編集してサンプル プログラムを実行する必要がありました。プロパティ ファイルの make/go セクションは次のようになります。

ccopts=-pedantic -Os
cc=g++ $(FileNameExt) -o $(FileName).exe
ccc=gcc $(FileNameExt) -o $(FileName).exe

make.command=make
command.compile.*.c=$(ccc) -std=c99
command.build.*.c=$(make.command)
command.build.*.h=$(make.command)
command.clean.*.c=$(make.command) clean
command.clean.*.h=$(make.command) clean
command.go.*.c=$(FileName)

私の問題は、この 1 つのプログラムを SciTE で実行できないことです。PowerShell/cmd では問題なく動作しますが、SciTE で実行しようとすると、最初の出力が得られず、入力しても何も起こりません。実行を停止しても、決して終了しません。タスクマネージャーに入ってプログラムを終了する必要があります。以前にもこの問題が発生しましたが、それは入力ミスが原因でした。ここで何を間違えたのかわかりません:

#include <stdio.h>
#include <conio.h>

int main(void)
{
    int num1;
    int num2;
    printf("Enter 2 numbers\n");
    scanf("%d%d", &num1, &num2);

    if(num1 == num2) {
        printf("they are equal\n");
    }

    if(num1 < num2) {
        printf("%d is less than %d\n", num1, num2);
        }

    if(num1 > num2) {
        printf("%d is greater than %d\n", num1, num2);
        }

    getch();
}
4

1 に答える 1

1

SciTE の出力ペインは、ご想像のとおり通常のコンソールではありません。SciTE の出力ペインでユーザー入力を求めることはできません。

ただし、おそらくパラメーターを利用して、スクリプトを少し変更して、ユーザー入力の代わりにパラメーターを受け入れることができます。

もう 1 つのオプションは、go コマンドにデフォルト以外のサブシステムを使用することです。

command.compile.*.c=gcc $(FileNameExt) -o $(FileName).exe
command.go.*.c="$(FileDir)\$(FileName).exe"
command.go.subsystem.*.c=2

試してみたい場合は、このブロックを最後に貼り付けることができますcpp.properties。さらに、オンザフライでコンパイルして実行する Go コマンドが必要な場合は、上記のブロックに次の行を追加します。

command.go.needs.*.c=gcc $(FileNameExt) -o $(FileName).exe

Ctrl+Break補足: 実行中の SciTE プログラムは、[ツール] > [実行の停止] メニュー コマンドを使用していつでも終了できます。

于 2014-09-17T15:56:58.687 に答える