01/10/2018, 15:17

Em có hàm kết hợp 2 file thành một nhưng lại nhưng lỗi uninitialized local variable 'c'

void Combined_2File()
{
	//Mo file de chep du lieu tu File1.txt File2.txt sang File.txt
        errno_t err1, err2,err3;
	FILE *fCombined1=NULL, *fCombined2=NULL, *fSource;
	err1 = fopen_s(&fCombined1, "File1.txt", "r");
	err2 = fopen_s(&fCombined2, "File2.txt", "r");
	err3 = fopen_s(&fSource, "File.txt", "a+");


	if (fCombined1 == NULL || fCombined2 == NULL|| fSource==NULL)
	{
		printf("Mo file khong duoc. Ket thuc");
		exit(1);
	}
	else
	{
		char c;
		do
		{
			fgetc(fCombined1);
			if (c == EOF) break;
			fputc(c, fSource);
		} while (c != EOF);
		do
		{
			fgetc(fCombined2);
			if (c == EOF) break;
			fputc(c, fSource);
		} while (c!=EOF);
		
	}
	fclose(fCombined1);
	fclose(fCombined2);
	fclose(fSource);
}
HK boy viết 17:22 ngày 01/10/2018

fgetc(fCombined1);
if (c == EOF) break;

Chỗ fgetc bạn thấy có gì đó thiếu không?

Duc Nguyen viết 17:23 ngày 01/10/2018

Không, mình thấy nó ổn mà

HK boy viết 17:24 ngày 01/10/2018

fgetc(fCombined1) trả về cái gì? Bạn có thấy c có được gán không? c không được gán giá trị nào nhưng lại bị đem đi so sánh, so sánh làm sao được?

Duc Nguyen viết 17:26 ngày 01/10/2018

Hiểu rồi đáng là c= fgetc(fSource); nhưng chỉ fgetc(Source);. Cảm ơn !

Bài liên quan
0