如何在C中使用重定向进行文件输入

Dex*_*ter 13 c input io-redirection

我需要从终端获取文件,我知道命令将如下所示:

./a.out < fileName.txt
Run Code Online (Sandbox Code Playgroud)

我不知道如何在我的程序中使用fgets()来使用终端请求的文件.

Nig*_*per 13

使用重定向将输入文件的内容发送到stdin,因此您需要从代码中的stdin读取,所以类似于(为清晰起见,省略了错误检查)

#include <stdio.h>

#define BUFFERSIZE 100

int main (int argc, char *argv[])
{
    char buffer[BUFFERSIZE];
    fgets(buffer, BUFFERSIZE , stdin);
    printf("Read: %s", buffer);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)