c - 返回文件*

标签 c file-io return

为什么这段代码会产生警告?

FILE* my_open_file(char* filename)
{
  FILE* fp=fopen(filename,"r");
  if(fp==NULL)
    {
      perror("Error opening file");
      return -1;
    }
  return fp;
}
  • asdf.c:在函数“my_open_file”中:
  • asdf.c:9: 警告:返回使 没有转换的整数指针

fp 已经是一个指针,据我所知不是整数。

最佳答案

编译器不喜欢return -1,它是int类型——但是my_open_file应该返回指向- 文件

使用return NULL; 来表示错误。

关于c - 返回文件*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2258573/

相关文章:

ios - Xcode 10.1 "return"语句不会停止函数执行

c - 编译超过 3 次时,Gcc/G++ 不会给出正确的结果

c - 使用 MPI_File_read_at 时出现段错误

java - 在 Java 中,此文件位置中的句点表示什么?

java - 使用多线程写入多个文件时如何解决 I/O 瓶颈

c++ - 为什么我可以在 VS2015 中返回对本地结构变量的引用?

c - C中的goto语句

c++ - 如何在 C++ 中清空套接字读/写缓冲区

file-io - 在一行中打印和写入?

c++ - 没有匹配函数来调用 'make_pair(char [len], int&)