Trong chương trình C, chức năng này sẽ xử lý tất cả công việc mở một tệp cụ thể và sau đó trả về con trỏ tệp, vì vậy các hàm chính hoặc hàm khác có thể đọc nội dung bằng cách sử dụng fp, không thể làm được điều này.Trả về con trỏ từ hàm C
Tôi chỉ đang học ngôn ngữ, vì vậy có thể tôi đang làm điều gì đó rất sai.
int open_text_file(char text_file_name[])
{
FILE *fp;
if((fp = fopen(text_file_name, "r")) != 0)
{
return fp;
}
else
{
printf("Cannot open file \"%s\"\n", text_file_name);
}
}
Bạn đang cố trả về con trỏ tới cấu trúc 'FILE' dưới dạng' int'. Bạn đang thấy cái gì (ngoài lỗi đó)? –
Là vấn đề về kiểu mã hóa, bạn nên so sánh 'fp' với' NULL' thay vì '0'. Nếu cũng có thể rõ ràng hơn để tách nhiệm vụ và so sánh 'fp' thành các câu lệnh riêng biệt. –