Lỗi Khi Truyền File Vào Hàm Trong C

#include<stdio.h>
#include<string>
#include<stdlib.h>

void fileBin(FILE *);

void main() {
	FILE *f;
	f = fopen("TepC", "w+b");
	fileBin(f);
	
}

void fileBin(FILE *f) {
	
	std::string c = "ABC\r\n";
	std::string c1 = "DEF\r\n";
	std::string c2 = "GHI";

	c = c + c1 + c2;
	fwrite(c.c_str(), sizeof(char), strlen(c.c_str()), f);
	fclose(f);

	f = fopen("TepC", "rb");
	char cc[] = "";

	fseek(f, 0, SEEK_END);
	int soKyTu = ftell(f);
	fseek(f, 0, SEEK_SET);
	fread(cc, soKyTu*sizeof(char), soKyTu, f);
	int l = strlen(cc);

	for (int i = 0; i < strlen(cc)-1; i++)
		printf("%c", cc[i]);
	fclose(f);
}

Khi mình debug thì tới dấu ngoặc cuối cùng cùa hàm fileBin thì hiện thông báo lỗi mà khi để mấy câu lệnh vô hàm main chạy trực tiếp thì không có lỗi :frowning:

Bạn sửa thành FILE*& xem sao :smiley:

Cũng bị lỗi như vậy à

ở đây bạn nghĩ cc là mảng có mấy ký tự?

xuống dưới truy cập vào cc[i], max i là bao nhiêu? cc có thể truy cập tới phần tử thứ i ko?

for (int i = 0; i < strlen(cc)-1; i++)
	printf("%c", cc[i]);

ok mình hiểu rồi cảm ơn nhiều nha :smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?