Visual studio không dùng được fwrite với fread?

Cho em hỏi sao em dùng visual studio lại không dùng được fwrite với fread ạ?
Code:

void write(words word){
	FILE *dataFile;
	dataFile = fopen("dictionary.bin","wb");
	fwrite(&word,sizeof(word),1,dataFile);
	fclose(dataFile);
}
//đọc từ thứ n trong file dictionary.bin
words readWord(int n){
	FILE *file;
	words word_out;
	int i = 0;
	file = fopen("dictionary.bin", "rw");
	while (i <= n){
		fread(&word_out, sizeof(word_out), 1, file);
                i++;
	}
	fclose(file);
	return word_out;
}

Với words là 1 struct

Nó báo lỗi như thế nào? Em thử chạy theo ví dụ sau để hiểu cách hoạt động của mỗi hàm trước.

Đây là ví dụ cho hàm fwrite

http://www.tutorialspoint.com/c_standard_library/c_function_fwrite.htm

Đây là ví dj cho hàm fread

http://www.tutorialspoint.com/c_standard_library/c_function_fread.htm

Lỗi như nầy anh ạ

Error 1 error C4996: ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\users\z\documents\visual studio 2013\projects\dictionary\dictionary\source.cpp 26 1 Dictionary

Lỗi này đâu liên quan đến fread hay fwrite, nó liên quan đến fopen mà. Trong thông báo lỗi nó bảo em sử dụng hàm fopen_s thay cho hàm fopen để cho nó an toàn hơn.

em dùng fopen_s rồi cũng không đc luôn! :’(

Em phải đưa ra thông báo lỗi chứ em cứ nói không được thì anh biết thế nào là không được? Anh nhắc nhiều lần rồi mà?

Hoặc em gửi toàn bộ code của em lên cho anh compile, chứ chỉ một đoạn như thế thì anh không biết em đang làm cái gì.

Em mới sửa được rồi anh ạ

1 Like

bạn sửa như thế nào vậy?> mình cũng bị giống bạn

bạn sửa như thế nào v, mình cũng bị lỗi như bạn

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