Bahasa C
Bab terakhir menjelaskan perangkat input dan output standar yang ditangani oleh bahasa pemrograman C. Bab ini membahas bagaimana programmer C dapat membuat, membuka, menutup file teks atau biner untuk penyimpanan data mereka.
File mewakili urutan byte, terlepas dari itu menjadi file teks atau file biner. Bahasa pemrograman C menyediakan akses pada fungsi tingkat tinggi serta panggilan tingkat rendah (tingkat OS) untuk menangani file di perangkat penyimpanan Anda. Bab ini akan membawa Anda melalui panggilan penting untuk manajemen file.
Anda dapat menggunakan fopen() berfungsi untuk membuat file baru atau membuka file yang sudah ada. Panggilan ini akan menginisialisasi objek dengan tipe FILE , yang berisi semua informasi yang diperlukan untuk mengontrol aliran. Prototipe pemanggilan fungsi ini adalah sebagai berikut
FILE *fopen( const char * filename, const char * mode );
Di sini, nama file adalah literal string, yang akan Anda gunakan untuk menamai file Anda, dan mengakses mode dapat memiliki salah satu dari nilai berikut
No.Sr. | Mode &Deskripsi |
---|---|
1 | r Membuka file teks yang ada untuk tujuan membaca. |
2 | w Membuka file teks untuk menulis. Jika tidak ada, maka file baru dibuat. Di sini program Anda akan mulai menulis konten dari awal file. |
3 | a Membuka file teks untuk ditulis dalam mode penambahan. Jika tidak ada, maka file baru dibuat. Di sini program Anda akan mulai menambahkan konten ke konten file yang ada. |
4 | r+ Membuka file teks untuk membaca dan menulis. |
5 | w+ Membuka file teks untuk membaca dan menulis. Ini pertama-tama memotong file menjadi nol panjang jika ada, jika tidak membuat file jika tidak ada. |
6 | a+ Membuka file teks untuk membaca dan menulis. Itu membuat file jika tidak ada. Pembacaan akan dimulai dari awal tetapi tulisan hanya dapat ditambahkan. |
Jika Anda akan menangani file biner, maka Anda akan menggunakan mode akses berikut alih-alih yang disebutkan di atas −
"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"
Untuk menutup file, gunakan fungsi fclose(). Prototipe dari fungsi ini adalah
int fclose( FILE *fp );
fclose(-) fungsi mengembalikan nol pada keberhasilan, atau EOF jika ada kesalahan dalam menutup file. Fungsi ini sebenarnya mem-flush semua data yang masih tertunda di buffer ke file, menutup file, dan melepaskan memori apa pun yang digunakan untuk file tersebut. EOF adalah konstanta yang didefinisikan dalam file header stdio.h .
Ada berbagai fungsi yang disediakan oleh library standar C untuk membaca dan menulis file, karakter demi karakter, atau dalam bentuk string dengan panjang tetap.
Berikut ini adalah fungsi paling sederhana untuk menulis karakter individual ke aliran −
int fputc( int c, FILE *fp );
Fungsi fputc() menulis nilai karakter argumen c ke aliran keluaran yang dirujuk oleh fp. Ini mengembalikan karakter tertulis yang ditulis pada kesuksesan jika tidak EOF jika ada kesalahan. Anda dapat menggunakan fungsi berikut untuk menulis string yang diakhiri null ke aliran −
int fputs( const char *s, FILE *fp );
Fungsi fputs() menulis string s ke aliran keluaran yang dirujuk oleh fp. Ini mengembalikan nilai non-negatif pada keberhasilan, jika tidak EOF dikembalikan jika terjadi kesalahan. Anda dapat menggunakan int fprintf(FILE *fp,const char *format, ...) berfungsi juga untuk menulis string ke dalam file. Coba contoh berikut.
Pastikan Anda memiliki /tmp direktori tersedia. Jika tidak, maka sebelum melanjutkan, Anda harus membuat direktori ini di mesin Anda.
#include <stdio.h> main() { FILE *fp; fp = fopen("/tmp/test.txt", "w+"); fprintf(fp, "This is testing for fprintf...\n"); fputs("This is testing for fputs...\n", fp); fclose(fp); }
Ketika kode di atas dikompilasi dan dieksekusi, itu membuat file baru test.txt di /tmp direktori dan menulis dua baris menggunakan dua fungsi yang berbeda. Mari kita baca file ini di bagian selanjutnya.
Diberikan di bawah ini adalah fungsi paling sederhana untuk membaca satu karakter dari file −
int fgetc( FILE * fp );
fgetc() fungsi membaca karakter dari file input yang dirujuk oleh fp. Nilai yang dikembalikan adalah karakter yang dibaca, atau jika ada kesalahan, ia mengembalikan EOF . Fungsi berikut memungkinkan untuk membaca string dari aliran −
char *fgets( char *buf, int n, FILE *fp );
Fungsi fgets() membaca hingga n-1 karakter dari aliran input yang dirujuk oleh fp. Ini menyalin string baca ke dalam buffer buf , menambahkan null karakter untuk mengakhiri string.
Jika fungsi ini menemukan karakter baris baru '\n' atau akhir file EOF sebelum mereka membaca jumlah karakter maksimum, maka fungsi ini hanya mengembalikan karakter yang dibaca hingga titik tersebut termasuk karakter baris baru. Anda juga dapat menggunakan int fscanf(FILE *fp, const char *format, ...) berfungsi untuk membaca string dari file, tetapi berhenti membaca setelah menemukan karakter spasi pertama.
#include <stdio.h> main() { FILE *fp; char buff[255]; fp = fopen("/tmp/test.txt", "r"); fscanf(fp, "%s", buff); printf("1 : %s\n", buff ); fgets(buff, 255, (FILE*)fp); printf("2: %s\n", buff ); fgets(buff, 255, (FILE*)fp); printf("3: %s\n", buff ); fclose(fp); }
Ketika kode di atas dikompilasi dan dieksekusi, ia membaca file yang dibuat di bagian sebelumnya dan menghasilkan hasil berikut
1 : This 2: is testing for fprintf... 3: This is testing for fputs...
Mari kita lihat sedikit lebih detail tentang apa yang terjadi di sini. Pertama, fscanf() baca saja Ini karena setelah itu menemukan spasi, panggilan kedua adalah untuk fgets() yang membaca baris yang tersisa sampai menemukan akhir baris. Akhirnya, panggilan terakhir fgets() membaca baris kedua sepenuhnya.
Ada dua fungsi yang dapat digunakan untuk input dan output biner −
size_t fread(void *ptr, size_t size_of_elements, size_t number_of_elements, FILE *a_file); size_t fwrite(const void *ptr, size_t size_of_elements, size_t number_of_elements, FILE *a_file);
Kedua fungsi ini harus digunakan untuk membaca atau menulis blok memori - biasanya array atau struktur.
Bahasa C
C Manajemen file File dapat digunakan untuk menyimpan sejumlah besar data persisten. Seperti banyak bahasa lain, C menyediakan fungsi manajemen file berikut, Pembuatan file Membuka file Membaca file Menulis ke file Menutup file Berikut ini adalah fungsi manajemen file terpenting yang tersedia di
Paket java.io berisi hampir setiap kelas yang mungkin Anda perlukan untuk melakukan input dan output (I/O) di Java. Semua aliran ini mewakili sumber input dan tujuan output. Aliran dalam paket java.io mendukung banyak data seperti primitif, objek, karakter lokal, dll. Aliran Aliran dapat didefinisi
Untuk peralatan yang dipantau secara digital atau otomatis, pengontrol berinteraksi dengan sensor fisik dan perangkat output menggunakan sinyal input/output (I/O) elektronik. Peralatan dari semua jenis membutuhkan sistem I/O yang dapat terhubung secara fisik dan secara fungsional terhubung ke banyak
Bosch Rexroth mengumumkan pada waktunya untuk FABTECH level berikutnya dari platform otomasi industri terbuka ctrlX AUTOMATION. Peluncuran ctrlX I/O menambahkan antarmuka lain di lapangan dan tingkat kontrol ke platform, sistem yang dibentuk oleh teknologi aplikasi, menurut perusahaan. Rentang I/O