Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Freopen trong C++ là gì? Không phải freeopen, cách viết đúng là freopen và dưới đây là những điều bạn cần biết về hàm này.
Hàm FILE *freopen(const char *filename, const char *mode, FILE *stream) trong Thư viện C chuẩn gắn kết một filename mới với Stream đã cho và cùng lúc đó đóng FILE cũ trong Stream.
Dưới đây là phần khai báo cho hàm freopen() trong C:
FILE *freopen(const char *filename, const char *mode, FILE *stream)
Tham số
filename − Đây là chuỗi chứa tên file để được mở.
mode − Đây là chuỗi chứa chế độ truy vập file. Bao gồm:
| mode | Miêu tả |
|---|---|
| "r" | Mở một file để đọc. File phải tồn tại |
| "w" | Tạo một file trống để ghi. Nếu một file với cùng tên đã tồn tại, nội dung của nó bị tẩy đi và file được xem như một file trống mới |
| "a" | Phụ thêm (append) tới một file. Với các hoạt động ghi, phụ thêm dữ liệu tại cuối file. File được tạo nếu nó chưa tồn tại |
| "r+" | Mở một file để ghi và đọc. File phải tồn tại |
| "w+" | Tạo một file trống để ghi và đọc |
| "a+" | Mở một file để đọc và phụ thêm |
stream − Đây là con trỏ tới một đối tượng FILE mà nhận diện Stream để được mở lại.
Trả về giá trị
Nếu file được mở lại thành công, hàm trả về một con trỏ tới một đối tượng nhận diện Stream đó, nếu không thì con trỏ null được trả về.
Ví dụ
Chương trình C sau minh họa cách sử dụng của hàm freopen() trong C:
#include <stdio.h>
int main ()
{
FILE *fp;
printf("Dong text nay hien thi tren stdout\n");
fp = freopen("baitapc.txt", "w+", stdout);
printf("Dong text nay duoc ghi vao baitapc.txt\n");
fclose(fp);
return(0);
}
Biên dịch và chạy chương trình trên sẽ gửi dòng sau tại STDOUT trước:

Sau lời gọi tới hàm freopen(), nó gắn kết STDOUT tới baitapc.txt, vì thế bất cứ cái gì chúng ta ghi tại STDOUT sẽ đi vào trong baitapc.txt. Vì thế, baitapc.txt sẽ có nội dung sau:

Bây giờ bạn theo dõi nội dung của file trên bởi sử dụng chương trình C sau:
![]()
Tóm lại, freopen() là một hàm tích hợp được định nghĩa trong tiêu đề <cstdio>, có chức năng chuyển hướng con trỏ FILE hiện có sang một luồng khác. Hàm này được sử dụng trong việc đọc và ghi tệp.
Hàm hoạt động theo cách sau:
Trên đây là những điều cần biết về freopen() trong C. Hi vọng bài viết giúp bạn hiểu cách sử dụng hàm này.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
5 lợi ích của Google AI Pro mà nhiều người chưa tận dụng
7 ý tưởng prompt viết bài bằng AI giúp thúc đẩy quy trình sáng tạo nội dung
5 cách sáng tạo để sử dụng LLM
Tạo video AI đầu tiên của bạn trong 10 phút
TOP công cụ hữu ích nên thử trên Quantrimang
Prompt tạo poster nội quy lớp học các cấp
Hướng dẫn lấy Gemini API Key và kết nối với n8n chi tiết
NoteGPT AI Detector: Công cụ phát hiện nội dung do AI tạo
Vì sao nên chạy AI agent trong Windows Sandbox?
15 prompt Claude luyện tập phỏng vấn xin việc
Claude Cowork hay ChatGPT Work là công cụ đáng tin tưởng để hoàn thành công việc?
Không cần gõ prompt: Gemini Live giờ có thể tạo ảnh bằng lời nói
ChatGPT và Claude sẽ phản ứng như thế nào nếu bạn đưa ra những yêu cầu phi đạo đức?
TOP ứng dụng xem phim ngắn AI hay nhất
Hướng dẫn từng bước kết nối Spotify với Gemini
Cách dùng Grok Automation tự động hóa nghiên cứu hàng ngày
Đâu là cách tốt nhất để học tập với Claude?
Cách đổi giọng Gemini Live sang giọng bạn thích
Cách chia sẻ đoạn chat Gemini và quản lý link công khai
Những cách chạy LLM cục bộ thay thế Ollama hoặc llama.cpp