gpt4 book ai didi

c - 处理文件或标准输入

转载 作者:行者123 更新时间:2023-11-30 18:34:12 25 4
gpt4 key购买 nike

我正在创建一个处理存档的小程序;其运行方式如下:

"./program file.txt".

如果没有找到第二个参数,它将从 stdin 处理

"cat file.txt | ./program"

但是在代码内部......我知道我可以做到这一点:

if (argc==2){
FILE* archive = argv[1];
function_1(archive);
function_2(archive);
...
function_n(archive);
else{
function_1(stdin);
function_2(stdin);
...
function_n(stdin);
}

但是我可以这样做吗?

file* archive;
if (argc==2){
archive = argv[1];
else{
archive = stdin;
}
function_1(archive);
function_2(archive);
...
function_n(archive);

因为我想少写代码!

最佳答案

由于 stdinFILE * 类型的变量,因此您可以这样做:

FILE *archive;
if (argc==2){
archive = fopen(argv[1], "r");
else{
archive = stdin;
}

关于c - 处理文件或标准输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52954855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com