我如何从C中读取文件

时间:2017-01-22 05:27:31

标签: c file io

如何使用此功能从文件中读取?

#include <stdio.h>

char* read_from_file (const char* filename, size_t length)
{
  //I have this so far
  fp = fopen(filename,"r"); // read mode

  if( fp == NULL )
  {
      perror("Error while opening the file.\n");
      exit(EXIT_FAILURE);
  }

  /* what goes in here? */

  return NULL;
}

我试图遵循以下准则:

  
      
  • 它分配一个大小为+ 1的字符缓冲区。

  •   
  • 以只读模式打开文件filename。当它无法打开文件时,它会释放缓冲区内存

  •   
  • 它将长度字符读入缓冲区,在最后一个位置插入一个空字符(\ 0),关闭文件并返回指向缓冲区的指针。当它无法读取长度字符时,它会释放缓冲区内存,关闭文件并返回NULL。

  •   

1 个答案:

答案 0 :(得分:0)

你几乎在你的问题中包含答案:

  1. 分配大小为length + 1的字符缓冲区。

  2. 以只读模式打开文件filename。如果您无法打开文件,请取消分配缓冲区并返回

  3. length个字符读入缓冲区,在最后一个位置插入一个空字符(\ 0),关闭文件并返回指向缓冲区的指针。

  4. 如果您无法读取length个字符,请取消分配缓冲区内存,关闭该文件,然后返回NULL。