我需要从终端获取文件,我知道命令将如下所示:
./a.out < fileName.txt
我不确定如何在我的程序中使用 fgets() 来使用从终端请求的文件。
我需要从终端获取文件,我知道命令将如下所示:
./a.out < fileName.txt
我不确定如何在我的程序中使用 fgets() 来使用从终端请求的文件。
使用重定向将输入文件的内容发送到标准输入,因此您需要从代码中的标准输入读取,因此类似于(为清楚起见省略了错误检查)
#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;
}
1.)您关闭标准输入,然后为其分配一个不同的文件处理程序 2.)使用 dup2 函数将标准输入替换为任何其他文件处理程序,您可以实现它