我是靠谱客的博主 雪白电源,这篇文章主要介绍C语言一次性读取文件全部内容,现在分享给大家,希望可以做个参考。

关键是获取文件大小,知道文件大小就可以用fread一次读入内存中。

使用fseek()定位到文件末尾,ftell()计算当前文件位置指针相对于文件首的偏移字节数,也就是文件的大小,最后用rewind()重新定位到文件开头位置,ok!fread()搞定。我下面这个函数写的不怎么好,大家理解思想就行了。


/**
* 读取文件内容
* path:文件路径
* length:文件大小(out)
* return:文件内容
*/
char * ReadFile(char * path, int *length)
{
	FILE * pfile;
	char * data;

	pfile = fopen(path, "rb");
	if (pfile == NULL)
	{
		return NULL;
	}
	fseek(pfile, 0, SEEK_END);
	*length = ftell(pfile);
	data = (char *)malloc((*length + 1) * sizeof(char));
	rewind(pfile);
	*length = fread(data, 1, *length, pfile);
	data[*length] = '';
	fclose(pfile);
	return data;
}


最后

以上就是雪白电源最近收集整理的关于C语言一次性读取文件全部内容的全部内容,更多相关C语言一次性读取文件全部内容内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(141)

评论列表共有 0 条评论

立即
投稿
返回
顶部