gpt4 book ai didi

c - 将文件名作为 C 的参数传递

转载 作者:行者123 更新时间:2023-11-30 21:05:38 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数读取文件名(par.dat)并打印以屏幕写入文件中的值。该值可以是整数,例如 12。但是,我的代码仅在屏幕上打印“0”值。有人可以告诉我如何解决这个问题吗?

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

int foo( const char *argv){
FILE *fp;
char c[25];
FILE *fptr;
fptr = fopen(argv, "r");
fscanf(fptr,"%[^\n]", c);
fp = fopen(c, "r");
fscanf(fp, "%d", &num);
printf("%d\n", num);
fclose(fptr);
}

int main(){
int num;

foo("par1.dat");

return 0;
}

最佳答案

你可以做这样的事情!

      #include <stdio.h>

void foo(const char *filename)
{
FILE *par = fopen(filename, "r");
int num;
if(par != NULL)
{
fscanf(par, "%d", &num);

fclose(par);
printf("%d\n",num);
}
else
{
perror(filename);
}
}
int main(void)
{
const char filename[] = "par.dat";
foo(filename);
return 0;
}

关于c - 将文件名作为 C 的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53561731/

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