2016-04-18 6 views
3

Ich habe vor kurzem ein Programm gemacht und endete falsch mit meinen Hausaufgaben. Ich hatte jedoch die richtigen Schritte, ich sollte es nicht von der Befehlszeile aus tun, sondern es von der IDE ausführen (wenn das Sinn macht).Schreiben in Dateien

Was ich tun soll, ist in die Datei "numbers.txt" zu gehen und die ganzen Zahlen darin zu lesen (dort sind bereits Zahlen drin). Ich vermute, dass ich die Summe, das Produkt und die höchste Ganzzahl finden und diese in einen Text namens "stat.txt" ausgeben werde. Ich bin jedoch verwirrt, wie ich es von meinem Compiler mache. Ich habe beide Dateien im selben Verzeichnis, aber wenn ich es im Compiler ausführen, heißt es "Kann Eingabedatei nicht lesen." und ich habe keine Ahnung, wie man den Compiler benutzt, um nur die Textdateien zu lesen, weil ich so die Befehlszeile verwende.

Hier ist mein Code (ich konnte nicht Max in den Code passen).

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

Erraten, dass Sie angeblich sind Führen Sie den Code aus der * [integrierten Entwicklungsumgebung] (https://en.wikipedia.org/wiki/Integrated_development_environment) * (IDE) aus. Die IDE sollte über Projekteinstellungen verfügen, mit denen Sie das * Arbeitsverzeichnis * und die * Befehlszeilenargumente * angeben können. – user3386109

+0

Meinst du es von deiner IDE ausführen? Oder meinst du es aus dem Debugger des Compilers ausführen? Compiler werden durch Kompilieren von Quellcodes und Generieren von maschinenlesbarem Code ausgeführt. Das ist alles, was es tun wird, und wenn nötig, ERRORS und WARNUNGEN ausgeben. – alvits

+0

Entschuldigung, von der IDE. Ich werde es jetzt bearbeiten. – SoonPro

Antwort

3

Welche IDE verwenden Sie? Sie liefern fopen mit einem relativen Pfad zu numbers.txt, es muss im selben Verzeichnis wie die ausführbare Datei existieren.

Entweder Ort numbers.txt in den gleichen Ordner, in dem IDE das Programm aufbaut, oder es mit einem absoluten Pfad liefern wie ‚/home/username/Desktop/number.txt‘

+0

Ich verwende CLion und sie befinden sich im selben Verzeichnis wie meine .c Programme. – SoonPro

+0

Ok, Clion ist großartig. Befindet sich die ausführbare Datei jedoch im selben Ordner wie die .c-Quelldateien? Wahrscheinlich nicht. –

+0

Du meinst wie sie wo meine ClionProjects sind? – SoonPro