Xem thêm

Đọc và Ghi File Cơ Bản với fstream

Huy Erick
Dường như không có phần mềm nào không thao tác với file, nhưng bạn có biết là bạn cũng có thể lưu trữ và lấy dữ liệu từ file thông qua thư viện fstream trong...

Dường như không có phần mềm nào không thao tác với file, nhưng bạn có biết là bạn cũng có thể lưu trữ và lấy dữ liệu từ file thông qua thư viện fstream trong ngôn ngữ lập trình C++? Hãy cùng khám phá cách thao tác với file một cách nhanh chóng và dễ dàng.

Môi trường và thư viện fstream

Trước tiên, hãy đảm bảo bạn đã cài đặt môi trường lập trình C++ và đã bao gồm các thư viện cần thiết như fstream, iostream và string. Đối với bài viết này, chúng ta sẽ sử dụng thư viện fstream.

Đọc dữ liệu từ file

Để đọc dữ liệu từ file, bạn cần tạo một file với nội dung bạn muốn đọc. Ví dụ, chúng ta có thể tạo một file có tên là input.txt với nội dung sau:

C++ là ngôn ngữ lập trình có thể tạo ra hiệu suất cao cho chương trình, nhưng đôi khi phức tạp trong lập trình cũng cao.

Sau đó, chúng ta có thể sử dụng đoạn code sau để đọc dữ liệu từ file và hiển thị lên màn hình:

#include 
#include 
#include 

using namespace std;

int main() {
    fstream f;
    f.open("input.txt", ios::in);
    string data;
    getline(f, data);
    f.close();
    cout << data;
}

Trong đoạn code trên, chúng ta thực hiện các bước sau:

  1. Mở file bằng cách sử dụng f.open.
  2. Đọc dữ liệu từ file vào biến data bằng cách sử dụng getline.
  3. Sau khi đọc xong dữ liệu, chúng ta đóng file bằng f.close.
  4. Cuối cùng, chúng ta hiển thị dữ liệu lên màn hình bằng cout.

Ghi dữ liệu vào file

Để ghi dữ liệu vào file, chúng ta cũng cần tạo một file mới hoặc sử dụng một file đã tồn tại. Ví dụ, chúng ta có thể tạo một file có tên là output.txt và ghi dữ liệu vào file đó:

#include 
#include 
#include 

using namespace std;

int main() {
    fstream f;
    f.open("output.txt", ios::out);
    string data = "Board: Modern C++\n"
                  "Website: www.stdio.vn/modern-cpp\n"
                  "Mô tả: Lập trình C++";
    f << data;
    f.close();
    return 0;
}

Trong đoạn code trên, chúng ta thực hiện các bước sau:

  1. Mở file bằng cách sử dụng f.open.
  2. Ghi dữ liệu từ biến string data vào file bằng cách sử dụng f << data.
  3. Sau khi ghi xong dữ liệu, chúng ta đóng file bằng f.close.

Một số vấn đề cần lưu ý

File được lưu ở đâu?

Khi làm việc với file, bạn cần xác định đường dẫn của file. Có hai loại đường dẫn bạn có thể sử dụng: đường dẫn tuyệt đối và đường dẫn tương đối.

Với đường dẫn tuyệt đối

Nếu bạn muốn đặt file hoặc tìm file tại một đường dẫn cụ thể, bạn có thể sử dụng đường dẫn tuyệt đối. Ví dụ, nếu file được lưu tại D://data/input.txt, bạn có thể mở file bằng cách sử dụng đoạn mã sau:

f.open("D://data/input.txt", ios::in);

Với đường dẫn tương đối

Nếu bạn thực thi chương trình thông qua Visual Studio, đường dẫn tương đối được tính từ thư mục chứa project (.vcxproj) hoặc Working Directory. Vì vậy, nếu bạn đặt file trong cùng thư mục chứa file .vcxproj, bạn có thể sử dụng đường dẫn tương đối như "input.txt" hoặc "./input.txt".

f.open("input.txt", ios::in);

Nếu bạn thực thi chương trình bằng cách chạy file .exe (nhấp chuột hoặc nhấn phím Enter), đường dẫn tương đối sẽ được tính từ thư mục chứa file .exe.

Có thể sử dụng kiểu dữ liệu khác?

Thay vì chỉ sử dụng string, bạn cũng có thể sử dụng các kiểu dữ liệu khác như char, short, int, float, double để đọc và ghi dữ liệu vào file. Ví dụ, trong trường hợp ghi vào file một giá trị kiểu int, bạn có thể sử dụng đoạn code sau:

int data = 6;
f << data;

Hy vọng rằng bài viết này đã giúp bạn hiểu cách thao tác với file bằng thư viện fstream trong ngôn ngữ lập trình C++. Nếu bạn muốn tìm hiểu thêm, dưới đây là một số tài liệu tham khảo có thể hữu ích cho bạn:

  • Căn Bản Về Đọc Và Ghi File Trong Ngôn Ngữ C++
  • Khái Niệm Về File - Ý Nghĩa Các Định Dạng
1