测算新建文本长度并建立相应长度动态数组

#include
#include
#include
#pragma warning(disable : 4996)
int main(void) {
	//read
	int c = 0;
	int i = 0;
	static  FILE* f=fopen( "data.txt", "r");//需要文件中拥有内容;
	fseek(f, 0L, SEEK_END);/*定位到文件末尾*/
	c = ftell(f);/*文件长度获取*/
	fseek(f, 0L, SEEK_SET);/*定位到文件开头*/
	if (f) {
		char* buf = new char[c+1];
		for (; i <= c; i++) {
			char ch = fgetc(f);
			if (ch != EOF) {
				buf[i] = ch;
			}
			else {
				buf[i] = '\0';
				break;
			}
		}
		
		printf("%s\n", buf);
		fclose(f);
	}
	else {
		puts("Can not save file");
	}
	puts("End");
	return EXIT_SUCCESS;
}

之前因为数组buf[]最后未添加'\0',复制代码有乱码出现,现已修正,如有其他问题欢迎指出。

:C语言获取文件长度及全部内容_Walter的专栏-CSDN博客_c语言求文件的长度

注意:文本自己添加,出现乱码问题可参考Python成神之路 - 关于vs2019控制台输出中文时乱码的问题

你可能感兴趣的:(蓝桥杯,c语言,c++)