30/09/2018, 19:47

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
";
	std::string c1 = "DEF
";
	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);
}
Pham Ngoc An viết 21:52 ngày 30/09/2018

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

Thiên Ân viết 21:59 ngày 30/09/2018

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

Pham Ngoc An viết 21:48 ngày 30/09/2018

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

viết 22:00 ngày 30/09/2018

char cc[] = “”;

ở đâ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]);
Pham Ngoc An viết 21:52 ngày 30/09/2018

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

Bài liên quan
0