gpt4 book ai didi

c - 我的函数 "openfile"有什么问题

转载 作者:行者123 更新时间:2023-11-30 20:14:48 26 4
gpt4 key购买 nike

void openfile(FILE *fichier,char *str){
char path;



path=(char*)malloc(sizeof(char));

fichier = fopen(&path,"r");

if (fichier)
printf("fichier chargé avec succes \n");
else
printf("ERREUR");

}

我以这种方式调用该函数:

openfile(fichier,cc);

和抄送包含“C:\Documents and Settings\Oussema\Mes 文档\test.txt”

它返回:“ERREUR”

最佳答案

这段代码毫无意义。

  • 参数str被忽略。
  • path 被分配一个指向一个字符数组的指针
  • 参数fichier被忽略。函数中为其分配了一个值。这不能用于返回值。
  • fopen 的第一个参数是指向垃圾的指针。

尝试一下,看看为什么不同。

void openfile(FILE **fichier, char *str)
{
if (NULL == fichier) return;

*fichier = fopen(str, "r");

if (*fichier)
printf("fichier chargé avec succes\n");
else
printf("ERREUR");
}

编辑:

我更愿意将值作为返回值返回。在这种情况下,它只不过是函数 fopen 本身的详细版本。

FILE* openfile(char *str)
{
FILE *fichier

fichier = fopen(str, "r");

if (NULL != fichier)
printf("fichier chargé avec succes\n");
else
printf("ERREUR");

return fichier;
}

关于c - 我的函数 "openfile"有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24013051/

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