2016-04-18 31 views
3

最近私はプログラムをやって、宿題に間違っていました。しかし、私はすべての正しいステップを持っていましたが、私はコマンドラインから実行するのではなく、IDEから実行することになっていました。ファイルへの書き込み

私がしなければならないのは、ファイル "numbers.txt"に入り、その中の整数を読み込むことです。私は合計、製品、そして最も高い整数を見つけ、それらを "stat.txt"というテキストに出力すると仮定しています。しかし、私はコンパイラからどうやってそれを行うのか混乱しています。私は両方のファイルを同じディレクトリに持っていますが、コンパイラで実行すると "入力ファイルを読み込めません"と表示されます。私はコマンドラインの使用に慣れているので、コンパイラを使ってテキストファイルを読み込む方法がわかりません。

私のコードは次のとおりです(コードに合わせるために最大限にはできませんでした)。

int main (int argc, char *argv[]) { 

    int number = 0; 
    int sum = 0; 
    int product = 1; 
    int max = 0; 

    FILE *input, *output; 
    input = fopen("numbers.txt", "r"); 
    output = fopen("stat.txt", "w"); 

    if (input == NULL) { 
     printf("Can not read the input file\n"); 
     exit(-1); 
    } 

    while ((fscanf(input, "%d", &number)) != EOF) { 
      sum = sum + number; 
      product = product * number; 
     if (number > max){ 
      max = number; 
     } 
    } 
    fprintf(output, "Sum : %d\n", sum); 
    fprintf(output,"Product : %d\n", product); 
    fprintf(output, "Largest: %d", max); 
    fclose(input); fclose(output); 
} 
+3

のような絶対パスでそれを供給* [統合開発環境](https://en.wikipedia.org/wiki/Integrated_development_environment)*(IDE)からコードを実行します。 IDEには、作業ディレクトリ*と*コマンドライン引数*を指定できるプロジェクト設定が必要です。 – user3386109

+0

IDEから実行しているのですか?あるいは、コンパイラのデバッガから実行することを意味しましたか?コンパイラは、ソースコードをコンパイルし、機械可読コードを生成することによって動作します。それは必要なときにそれが行うすべてのことであり、ERRORSとWARNINGSを発行します。 – alvits

+0

申し訳ありませんが、IDEから。私は今それを編集します。 – SoonPro

答えて

3

どのIDEを使用していますか? fopenにnumbers.txtの相対パスを指定していれば、実行可能ファイルと同じディレクトリに存在する必要があります。

あなたのIDEは、プログラムを構築し、同じフォルダにいずれかの場所numbers.txt、またはあなたがになっていることを推測「/home/username/Desktop/number.txt」

+0

私はCLionを使用していますが、私の.cプログラムのあるディレクトリと同じディレクトリにあります。 – SoonPro

+0

ok、clionは素晴らしいです。しかし、実行可能ファイルは.cソースファイルと同じフォルダにありますか?おそらくそうではありません。 –

+0

私のClionProjectsはどこに置いているのですか? – SoonPro

関連する問題