Halo, dan selamat datang kembali.
Dalam kuliah ini, saya ingin memberikan demonstrasi tantangan
pertama kami untuk membaca dari file.
Kita akan menghitung jumlah baris di dalam file dengan menggunakan fgetc.
Jadi mari kita bawa blok kode, dan mari kita buat proyek kita.
Di sini, kami hanya akan mengatakan proyek
baru, dan itu akan menjadi penyelarasan bacaan dasar.
Jadi katakan aplikasi konsol pilih c, dan kami akan memberi nama jumlah garis dasar
atau penghitungan ini bagaimana tentang menghitung jumlah baris.
Dan ini akan membuat utama kami. c. mana yang baik.
Bahkan sebelum kita memulai aplikasi ini meskipun, kami ingin benar-benar membuat file kami yang memiliki
beberapa teks di dalamnya.
Karena kami tidak menulis, kami hanya membaca dalam jumlah baris.
Jadi kamu harus tahu dimana Anda menyimpan proyek Anda.
Saya menyimpan proyek saya di dalam dari direktori unduhan saya.
Dan ketika Anda membuat proyek baru di dalam direktori unduhan Anda, Anda
pergi ke nama proyek itu.
Nama proyek saya adalah menghitung jumlah baris.
Jadi di dalam hitung jumlah baris, saya memiliki utama saya. berkas c.
Saya dapat membuat file saya tepat di direktori ini.
Jadi saya ke kanan saja klik di dalam direktori
dan saya akan mengatakan baru dan saya akan membuat file teks.
Ini adalah dokumen teks baru, dan itu akan menjadi ujian. teks.
Aku akan membukanya.
Anda dapat membuka di mana saja editor, ini adalah wordpad.
Ini akan dimasukkan ke dalam beberapa baris, halo.
Ini akan menjadi ujian untuk akuntansi, oke, a, hanya sekelompok baris dan kemudian
Anda ingin menyimpan itu dan menutupnya.
Sekarang setelah file saya dibuat, saya bisa benar-benar mulai menerapkan sesuatu.
Hal pertama yang ingin saya lakukan adalah saya ingin
membuat variabel konstan untuk nama file.
Jadi saya hanya akan menggunakan define.
Ini akan mewakili nama file saya.
Saya hanya akan mengatakan nama file secara keseluruhan caps, dan ini akan sama dengan
apa pun yang baru saja saya beri nama, yang lagi adalah ujian. teks, jadi tes. teks.
Dan semua kode saya pergi menjadi fungsi utama saya.
Saya ingin membuat penunjuk file saya.
Ingat, untuk membuat penunjuk file, Anda hanya menggunakan FILE huruf besar semua, dan kemudian mengatakan bintang
dan kemudian Anda bisa mengatakan fp.
Dan aku akan inisialisasi itu ke nol.
Setiap kali Anda membaca file dan menulis, Anda harus memastikan Anda
menyertakan lib standar. H.
Saya juga akan membuat single karakter yang akan digunakan.
Saya hanya akan mengatakan char, dan kemudian saya akan membuat
penghitung untuk semua baris saya.
Saya akan mengatakan jumlah baris int.
Dan saya akan menginisialisasi itu ke 0.
Hal pertama yang perlu Anda lakukan ketika Anda melakukan segala
jenis membaca dari file, Anda harus membukanya.
Jadi fungsi buka f adalah akan mengembalikan file pointer.
Jadi saya ingin menetapkan itu untuk saya variabel fp dan saya
ingin mengatakan f buka dan nama file nama yang sudah saya tetapkan adalah
konstanta, nama file.
Dan saya ingin membuka diri untuk membaca dan hanya membaca jadi saya hanya mengatakan r.
Jadi di sini saya ingin melakukan fopen dengan saya nama file sebagai konstanta saya dan kemudian r dalam
tanda kutip ganda itulah mode kami.
Saya hanya ingin membaca saja.
Saya tidak ingin menulis.
Jika saya melakukan r plus, saya akan menulis juga.
Sebelum kita menggunakan pointer, penunjuk mewakili file.
Saya ingin memastikan bahwa pointer tidak sama dengan null, jadi
saya ingin melakukan f.
Saya ingin mengatakan fp sama dengan nol.
Lalu jika itu sama dengan nol, aku hanya ingin menampilkan kesalahan sebagai balasannya.
Jadi saya ingin melakukan sesuatu seperti printf file tidak ada, apa pun yang ingin
Anda lakukan.
Dan ini akan kemudian.
Kami hanya ingin kembali negatif 1 dari fungsi kami.
Setelah kami membuka file, sekarang kami benar-benar bisa mulai
membaca karakter, jadi kita bisa menulis while loop dan kami ingin mengatakan sementara karakter kami,
yang merupakan karakter sama dengan fgetc.
Fgetc sedang membaca satu karakter.
Kami meneruskan penunjuk file kami, dan kami pada dasarnya ingin mengatakan
kami ingin membaca karakter sampai kami melihat eof.
Jadi kita katakan sampai tidak sama dengan eof.
Lalu kita akan melompat keluar dari lingkaran kami, sesuatu seperti ini.
Jadi kita akan membaca dalam karakter sampai kita sampai ke akhir file.
Selama karakter kita tidak umpan baris, kami hanya ingin bertambah ketika kami melihat
umpan baris.
Jadi kita akan mengatakan jika karakter kita sama dengan umpan baris, maka pada dasarnya kami ingin
meningkatkan penghitung kami.
Kami hanya ingin mengatakan jumlah baris plus ditambah, itu akan menghitung baris kami.
Dan kemudian kita melompat keluar dari lingkaran ketika kita sampai ke akhir file.
Tapi kami hanya merekomendasikan kami akun jika kita mendapatkan umpan baris.
Hal terakhir yang selalu ingin kamu lakukan setelah Anda selesai membaca tulisan Anda, Anda ingin
menutup file Anda.
Jadi Anda ingin mengatakan fclose dan lalu berikan penunjuk file.
Dan kemudian kami juga ingin mengatur penunjuk file kami sama dengan nol.
Dan kemudian kita dapat mencetak jumlah baris yang kita jalankan.
Jadi kita bisa mengatakan jumlah total printf dari garis r persen d garis miring terbalik n dan kemudian kita
bisa memasukkan jumlah garis.
Dan kemudian baru kembali dari utama, begitu saja.
Jadi sekali lagi untuk membahas kode ini, kita buat
penunjuk file kita setel ke nol buat karakter dan lokal variabel untuk menghitung garis.
Kami membuka file kami di baris 12.
Kami membukanya dalam mode hanya untuk dibaca.
Kami memastikan itu bukan nol, dan lalu kita lakukan while loop untuk membaca
setiap karakter sampai kita berada di akhir file.
Setiap kali kami melihat umpan baris, kami menambah penghitung itu.
Dan kemudian kami menutup file kami dan atur pointer kita ke null.
Dan kemudian kami mencetak jumlah baris.
Mari kita maju dan membangun ini.
Dan kami memiliki garis tambahan pakan, kami ingin memastikan.
Jadi saya ingin memastikan kita tidak melakukannya lupakan koma di printf kami.
Dan sekarang kita menjalankan ini, itu akan baca dari file kami yang kami buat dan beri
tahu kami berapa banyak baris yang kami miliki.
Jadi dikatakan jumlah total dari garis adalah enam.
Jika kita membuka file teks kita, kita harus perhatikan bahwa ada enam baris, satu, dua,
tiga, empat, lima, enam.
Ada tujuh sebenarnya.
Jadi kita harus menaikkan yang terakhir sampai kita mendapatkan eof.
Jadi, inilah sedikit bug di sini di mana kami hanya mengatakan karena ini
melakukan umpan baris terakhir kami sebelum kita mencapai akhir file.
Jadi Anda ingin benar-benar memiliki ini menjadi satu lagi dan kemudian kami akan menjalankannya dan itu benar-benar
akan berhasil.
Jadi dalam hal ini kita akan tambahkan beberapa baris.
Dan dalam hal ini, kita harus memiliki satu, dua, tiga, empat, lima,
enam, tujuh, delapan, sembilan baris.
Kami menutup file.
Kami menjalankannya lagi, kompilasi itu, dan kita harus mendapatkan sembilan.
Dalam hal ini kita mendapatkan 9.
Jadi saya akan menyimpan kode sumber ini.
Anda dapat mengunduhnya.
Ini adalah dasar-dasar membaca data dari file menggunakan fgetc.
Anda juga ingin menjadi akrab dengan fget.
Dan kemudian untuk memformat output, Anda dapat menggunakan fscanf untuk membaca dalam output yang diformat.
Saya harap ini membantu. Terima kasih.