打印到命令行中给出的输出文件

问题描述:

如何打印到用户在命令行中给出的输出文件?我知道如何打印到输出文件,但不知道如何在用户提供文件时获取文件。打印到命令行中给出的输出文件

用户给出的文件可能不存在。

+1

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

您只需要从输入参数中读取文件的名称。

参数存储在主数组argv中。就像这样:

#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

如果文件没有在命令行中给出尚未创建,它会工作吗? – name

+0

是的,因为当您在写入模式下打开文件时。如果它不存在,它将被创建。 – granmirupa

+0

你可以添加一个快速语句打印“ABC”文件。当我运行我的代码它说该文件不存在。 – name