我是靠谱客的博主 雪白电源,最近开发中收集的这篇文章主要介绍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语言一次性读取文件全部内容所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部