如何使用此功能从文件中读取?
#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。
答案 0 :(得分:0)
你几乎在你的问题中包含答案:
分配大小为length
+ 1的字符缓冲区。
以只读模式打开文件filename
。如果您无法打开文件,请取消分配缓冲区并返回
将length
个字符读入缓冲区,在最后一个位置插入一个空字符(\ 0),关闭文件并返回指向缓冲区的指针。
如果您无法读取length
个字符,请取消分配缓冲区内存,关闭该文件,然后返回NULL。