2016-10-10 4 views
-1

Wie würden Sie in eine Ausgabedatei drucken, die der Benutzer in der Befehlszeile eingegeben hat? Ich weiß, wie man in eine Ausgabedatei druckt, weiß aber nicht, wie man die Datei erhält, wenn sie vom Benutzer angegeben wird.Drucken in eine Ausgabedatei in der Befehlszeile

Die vom Benutzer angegebene Datei ist möglicherweise nicht vorhanden.

+1

[Try this] (https://stackoverflow.com/documentation/c/1285/command-line-arguments/4435/printing-the-command-line-arguments#t=201610101909574672974) – user3386109

Antwort

1

Sie müssen nur den Namen der Datei aus den Eingabeparametern lesen.

Die Parameter werden im Array argv der Haupteinheit gespeichert. Wie folgt aus:

#include <stdio.h> 

int main (int argc, char *argv[]) 
{ 
    if (argc != 2) /* argc should be 2 for correct execution */ 
    { 
     /* We print argv[0] assuming it is the program name */ 
     printf("usage: %s filename", argv[0]); 
    } 
    else 
    { 
     // We assume argv[1] is a filename to open 
     FILE *file = fopen(argv[1], "w"); 
     // do something 
    } 
} 
+0

Würde es funktionieren, wenn die Datei nicht in der Befehlszeile angegeben wurde noch nicht erstellt? – name

+0

Ja, wenn Sie eine Datei im Schreibmodus öffnen. Wenn es nicht existiert, wird es erstellt. – granmirupa

+0

können Sie eine schnelle Anweisung drucken "abc" in die Datei hinzufügen. Wenn ich meinen Code ausführe sagt es, dass die Datei nicht existiert. – name