1

私はOSXのXcode 5でCの基礎を学んでいる初心者です。入力ファイル (input.txt) から情報 (プログラムに関連する値) を単純なプログラムにリダイレクトし、その結果を 2 番目のファイル (output.txt) に表示するという課題をコースで受けました。

プログラムのコピーは次のとおりです。

#include <stdio.h>

#define NIS_PER_LITER 5.37

int main()
{

    double speed, hrs, km_per_liter;
    double liters, cost;

    printf("Enter driving time in hrs: ");
    scanf("%lf", &hrs);
    printf("Enter driving speed in kph: ");
    scanf("%lf", &speed);
    printf("Enter km per liter: ");
    scanf("%lf", &km_per_liter);

    liters = hrs * speed / km_per_liter;
    cost = liters * NIS_PER_LITER;

    printf("Your driving cost is %lf NIS\n", cost);

    return 0;
}

command < input.txt > output.txtXcodeとターミナルの両方で、すでに使用してみました。Xcode の内部では、次のような出力行が表示されます。

Enter driving time in hrs: command <input.txt
Enter driving speed in kph: 
Enter km per liter:
Your driving cost is nan NIS
Program ended with exit code: 0

ターミナルにいる間は何もしません。入力/出力ファイルを内部に配置しようとしましDerivedDataたが、それは役に立ちませんでした...

どんなアドバイスも大きなものになるでしょう。

4

1 に答える 1

1

あなたがすべきだと思うこと:

Linux OS 上にある場合は、そのようなものを使用して I/O をリダイレクトする必要があります

bash-4.1$ 猫の入力.txt | yourbinary > output.txt

思い通りにならないこともあるかもしれません。まずinput.txtの中身は?そのように聞こえる場合:

2.3
100.00

プログラム内のファイルを読み取る方がよいでしょう。別のものが必要な場合は、次のような linecommand パラメータを使用できます。

bash-4.1$ ./command --speed=100.00 --kmperliter=12

アプリケーション内からprintfで標準出力に出力することもできます。これを行うと、コマンド ライン呼び出しは次のようになります。

bash-4.1$ ./command --speed=100.00 --kmperliter=12 > output.txt

役に立ったと思います

于 2013-10-17T15:00:10.583 に答える