C中文本文件的拷贝也会有个小问题,但是很快就解决了。

 多写的字符似乎就是EOF,但是不能确定。

//: test05.c
#include <stdio.h>
#include <stdlib.h>

int main() {
	system("cls");
	FILE* f;
	char buf[0x1000];
	char* p = buf;
	f = fopen("test05.c", "r");
	while(1) {
		if(feof(f))
			break;
		*p++ = fgetc(f);
	}
	printf("%s", buf);
	printf("\n");
	fclose(f);
	f = fopen("test05.txt", "w");
	p = buf;
//	while(*p) { //用这个语句虽然也能成功写入文本文件,但会多写入至少一个字节。
//		fputc(*p++, f);
//	}
	while(*p != EOF) {
		fputc(*p++, f);
	}
	fclose(f);
}

///:~
发布了159 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_39410618/article/details/90580691