Pemrograman Dasar Operasi File
put dan get Operasi pada file tidak harus dalam bentuk string, seperti sejumlah contoh program yang telah diberikan. Kita dapat melakukan operasi pada file berbasis karakter. Untuk melakukan ini, kita gunakan metode put dan get pada kelas ofstream dan ifstream.
Contoh int main() { ofstream fileKeluar("karakter.txt"); fileKeluar.put('A'); fileKeluar.put('B'); fileKeluar.put('C'); fileKeluar.put('\n'); fileKeluar.put('N'); fileKeluar.close(); system("pause"); return 0; }
Contoh int main() { char karakter; ifstream fileMasuk("karakter.txt"); while (!fileMasuk.eof()) { fileMasuk>>karakter; //if (fileMasuk.fail()) break; cout<<"karakter yang dibaca:"<<karakter<<endl; } fileMasuk.close(); system("pause"); return 0;
seekp dan seekg seekp dan seekg masing-masing berfungsi untuk memindahkan pointer keluaran dan masukan ke posisi tertentu. Sintaksnya: seekp(int posisi); atau seekp(offset, acuan); seekg(int posisi); atau seekg(offset, acuan); Dengan posisi acuan yang dapat kita gunakan antara lain: ios::beg posisi awal file ios::cur posisi pointer saat ini ios::end posisi akhir file
Contoh int main() { char karakter; fstream fHuruf("huruf.txt",ios::out); fHuruf.close(); fHuruf.open("huruf.txt",ios::in|ios::out); for (char huruf = 'A'; huruf<='Z'; huruf++) fHuruf.put(huruf); cout<<"Membaca dari awal hingga akhir"<<endl; for (char huruf='A'; huruf<='Z';huruf++) { fHuruf.seekg(huruf-'A',ios::beg); fHuruf.get(karakter); cout<<karakter; } cout<<endl; system("pause"); return 0;
Contoh int main() { char karakter; fstream fHuruf("huruf.txt",ios::out); fHuruf.close(); fHuruf.open("huruf.txt",ios::in|ios::out); for (char huruf = 'A'; huruf<='Z'; huruf++) fHuruf.put(huruf); cout<<"Membaca karakter pertama dan terakhir"<<endl; fHuruf.seekg(0,ios::beg); fHuruf.get(karakter); cout<<"Karakter Pertama:"<<karakter<<endl; fHuruf.seekg(-1,ios::end); cout<<"Karakter terakhir:"<<karakter<<endl; system("pause"); return 0; }
tellp dan tellg Fungsi tellp dan tellg mengembalikan nilai integer yang menyatakan posisi pointer perekaman dan pembacaan. Fungsi ini dapat digunakan dengan langsung menugaskan fungsi ini ke dalam suatu variabel integer.
Contoh int main() { char karakter; fstream fHuruf("huruf2.txt",ios::out); fHuruf.close(); fHuruf.open("huruf2.txt",ios::out|ios::in); cout<<"posisi penunjuk file setelah file dibuka"<<endl; cout<<"Masukan :"<<fHuruf.tellg()<<endl; cout<<"Keluaran:"<<fHuruf.tellp()<<endl; for(char huruf='A'; huruf<='Z';huruf++) fHuruf<<huruf; cout<<"Posisi penunjuk file setelah perekaman"<<endl; system("pause"); return 0; }
Contoh int main() { char karakter; fstream fHuruf("huruf2.txt",ios::out); fHuruf.close(); fHuruf.open("huruf2.txt",ios::out|ios::in); for(char huruf='A'; huruf<='Z';huruf++) fHuruf<<huruf; fHuruf.seekp(5); fHuruf.put('!'); cout<<"Posisi setelah proses:"<<endl; cout<<"Masukan :"<<fHuruf.tellg()<<endl; cout<<"Keluaran:"<<fHuruf.tellp()<<endl; fHuruf.seekg(5); cout<<"Posisi setelah seekg(5):"<<endl; fHuruf.seekg(0); for(char huruf='A'; huruf<='Z';huruf++) { fHuruf>>karakter; cout<<karakter; } system("pause"); return 0;
Thank You for your attention Thanks to: cplusplus.com Pemrograman C++ by Abdul Kadir Yoannita S.Kom & Hermawan S.Kom Sumber slide