gpt4 book ai didi

C、将文件的指针传递给函数

转载 作者:行者123 更新时间:2023-11-30 15:20:51 24 4
gpt4 key购买 nike

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char** argv)

{
int good_file = 0; //flag
FILE* files[argc - 1];
int i;
for(i = 0; i < argc - 1; i++){

if ((files[i]=fopen(argv[i+1], "r"))==NULL)
{
continue;
}
else //if file is good
{
good_file++; //increment then pass the ptr
test(files[i]); //of file to test function
}
}

if(!good_file){ //if flag good_file is 0 error
printf("ERROR!");
}
exit(0); //then exit program

}

int test (int *file) //takes in ptr to file[i] as param

{
char c;
while ((c = fgetc(file)) != EOF)
putc(c, stdout);
fclose(file);
return main //return main and continue loop

}

我知道我的代码一团糟,但我试图接收 X 个文件,然后进行程序测试以确保文件不为空或不存在,然后打印出以下内容它在不同的功能中。我正在尝试找到一种方法来成功地将指针作为参数传递给文件,以便可以将其内容打印到不同函数中的标准输出。然后,完成后,让该函数将控制权返回给主函数,以便循环继续其过程。

最佳答案

您的 test 函数是伪造的(在参数中使用 int 而不是 FILE 并使用 char 而不是int 代表 fgetc

试试这个:

void test (FILE *file)                //takes in ptr to file[i] as param
{
int c;
while ((c = fgetc(file)) != EOF)
putc(c, stdout);

fclose(file);
}

但可能还有更多问题。

关于C、将文件的指针传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29842643/

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