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);
}

///:~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章