C++ Lanjutan | #5 File I/O

C++ Lanjutan: File I/O Thumbnail: C++ Lanjutan: File I/O

C++ Lanjutan: File I/O

File I/O (Input/Output) merupakan salah satu fitur penting dalam C++ yang memungkinkan program untuk membaca data dari file dan menulis data ke file. Dalam artikel ini, kita akan membahas operasi dasar pada file menggunakan ifstream dan ofstream, berbagai mode file (baca, tulis, tambahkan), serta cara membaca dan menulis file teks maupun file biner.

Operasi Dasar pada File

Untuk bekerja dengan file dalam C++, kita menggunakan dua kelas utama:

  • ifstream: digunakan untuk membaca file (input file stream).
  • ofstream: digunakan untuk menulis ke file (output file stream).

Contoh sederhana untuk membuka file dan menulis data ke dalamnya:

#include <fstream>
#include <iostream>

int main() {
    std::ofstream file("contoh.txt");
    if (file.is_open()) {
        file << "Hello, File I/O!\n";
        file.close();
    } else {
        std::cout << "File tidak dapat dibuka!" << std::endl;
    }
    return 0;
}

Dalam contoh di atas, kita membuka file contoh.txt menggunakan ofstream dan menulis teks ke dalamnya. Jangan lupa untuk selalu menutup file setelah selesai digunakan dengan file.close().

Mode File

Kita bisa membuka file dalam berbagai mode, seperti:

  • std::ios::in: Buka file untuk membaca.
  • std::ios::out: Buka file untuk menulis (default).
  • std::ios::app: Tambahkan data ke akhir file.
  • std::ios::binary: Buka file dalam mode biner.

Berikut adalah contoh membuka file dengan mode append (menambahkan data di akhir file):

#include <fstream>
#include <iostream>

int main() {
    std::ofstream file("contoh.txt", std::ios::app);
    if (file.is_open()) {
        file << "Data baru ditambahkan.\n";
        file.close();
    } else {
        std::cout << "File tidak dapat dibuka!" << std::endl;
    }
    return 0;
}

Dalam contoh ini, data baru akan ditambahkan ke akhir file tanpa menghapus konten yang sudah ada.

Membaca dan Menulis File Teks

Untuk membaca file teks, kita menggunakan ifstream seperti pada contoh berikut:

#include <fstream>
#include <iostream>
#include <string>

int main() {
    std::ifstream file("contoh.txt");
    std::string line;
    if (file.is_open()) {
        while (getline(file, line)) {
            std::cout << line << std::endl;
        }
        file.close();
    } else {
        std::cout << "File tidak dapat dibuka!" << std::endl;
    }
    return 0;
}

Dalam contoh di atas, kita membuka file contoh.txt untuk dibaca dan menampilkan setiap barisnya ke layar.

Membaca dan Menulis File Biner

File biner menyimpan data dalam format biner. Berikut adalah cara menulis dan membaca file biner:

Menulis File Biner

#include <fstream>
#include <iostream>

int main() {
    int data = 12345;
    std::ofstream file("data.bin", std::ios::binary);
    if (file.is_open()) {
        file.write(reinterpret_cast(&data), sizeof(data));
        file.close();
    } else {
        std::cout << "File tidak dapat dibuka!" << std::endl;
    }
    return 0;
}

Membaca File Biner

#include <fstream>
#include <iostream>

int main() {
    int data;
    std::ifstream file("data.bin", std::ios::binary);
    if (file.is_open()) {
        file.read(reinterpret_cast(&data), sizeof(data));
        std::cout << "Data yang dibaca: " << data << std::endl;
        file.close();
    } else {
        std::cout << "File tidak dapat dibuka!" << std::endl;
    }
    return 0;
}

Dalam contoh di atas, kita menyimpan dan membaca integer dalam format biner menggunakan ofstream dan ifstream.

Kesimpulan

File I/O dalam C++ memungkinkan kita untuk berinteraksi dengan file secara efisien. Dengan memahami cara menggunakan ifstream dan ofstream, serta mode-file yang berbeda, kita dapat menangani berbagai jenis file dengan mudah. Semoga artikel ini bermanfaat bagi Anda dalam memahami dasar-dasar file I/O di C++!

Komentar