Halo, dan selamat datang kembali.
Saya ingin melanjutkan diskusi kami pada beberapa fungsi di perpustakaan
c standar.
Ini banyak fungsinya kita sudah melewatinya di kelas, tapi
aku ingin mengingatkanmu.
Jadi ada banyak yang penting berbagai fungsi dari
pustaka standar c yang sudah kami miliki dibahas sepanjang kursus
dengan semua contoh kami dan semua hal-hal yang telah kita pelajari.
Kami berbicara banyak tentang fungsi string.
Dan beberapa di antaranya sangat mudah digunakan dan beberapa yang akan sering kita gunakan,
jadi Anda harus terbiasa dengan ini.
Untuk menggunakan salah satu fungsi ini, Anda harus menyertakan
string file header. h, semuanya didefinisikan dalam string. H.
Kami berbicara tentang kucing str.
Str cat menggabungkan dua string, dua parameter yang dibutuhkan,
dua pointer karakter.
Dan itu akan mengembalikan karakter pointer digabungkan ke yang lain.
Jadi menempatkan karakter nol akhir string terakhir,
fungsi mengembalikan s1.
Str char ini mencari a string yang berisi karakter.
Ini akan mengembalikan karakter bintang juga.
Ini adalah cara yang baik untuk mencari.
Kami membicarakan ini cukup sedikit dengan string kucing.
Perbandingan str sedang berlangsung untuk membandingkan dua string.
Ini adalah cara standar yang Anda lakukan.
Dibutuhkan dua petunjuk dan itu mengembalikan bilangan bulat.
Kami memang memiliki beberapa contoh tentang ini di mana pada dasarnya jika Anda
mengembalikan nol, kedua string itu sama.
Jika kami mengembalikan lebih besar atau lebih kecil
daripada, jika Anda berbelok lebih besar dari nol, itu berarti s1 biasanya lebih besar dalam ukuran abjad.
Jadi jika Anda memasukkan string itu berisi a dan kemudian string kedua adalah
b, itu akan kembali lebih besar dari nol karena atau akan berubah kurang dari nol karena a
lebih kecil dari b.
Jika Anda lulus di b sebagai yang pertama parameter dan c adalah parameter
kedua semacam string dimulai dengan b atau c, itu akan kembali
lebih besar dari nol.
Jadi kamu harus mengerti nilai-nilai pengembalian tersebut.
Itulah yang penting str membandingkan.
salinan str.
Ini adalah bagaimana Anda dapat menetapkan string ke string lain.
Ingat, string, pointer dan array karakter, Anda
tidak dapat menetapkan string secara langsung menggunakan operator penugasan.
Untuk bilangan bulat dan pelampung, Anda dapat cukup gunakan operator yang sama.
Tidak bisa melakukannya dengan string.
Jadi, Anda harus menggunakan str copy saat Anda ingin menetapkan string ke pointer, pointer
karakter atau array karakter.
Anda dapat menginisialisasi karakter array string literal konstan di dalam tanda
kutip ganda.
Tapi setelah itu, setelah inisialisasi jika
Anda ingin mengubahnya, Anda harus menggunakan str copy.
panjang str.
Fungsi penting lainnya untuk mendapatkan panjang tali.
Ini mengembalikan ukuran t yang merupakan bilangan bulat yang mewakili panjang.
Semua fungsi string ini mengambil pointer atau array
karakter sebagai parameter.
Jadi kita perlu mengerti cara kerjanya juga.
Fungsi string lainnya strncat.
Ingat semua fungsinya yang menambahkan ujungnya sedikit lebih aman
karena Anda tidak memiliki buffer overflows.
Jadi di strncat parameter ketiga ditambahkan dan ini akan mengatakan salin atau
gabungkan begitu banyak parameter.
Biasanya, parameter ketiga adalah akan menjadi ukuran parameter pertama karena
Anda tidak mau untuk menyalin sesuatu yang lebih besar dari itu.
Fungsi-fungsi ini seharusnya digunakan di
atas fungsi string lainnya karena mereka adalah aman untuk buffer overflow.
Coba bandingkan.
Sekali lagi, Anda akan membandingkan tertentu jumlah karakter untuk s1 dan s2.
Salin strn, di sini parameter ketiga akhir mungkin akan menjadi panjang
str atau ukuran s1.
Karena Anda akan menyalin s2 dan s1, tetapi Anda tidak ingin menyalin lebih banyak
byte daripada yang dapat disimpan atau disimpan oleh s1.
karakter str.
Di sinilah Anda dapat mencari string untuk kemunculan
karakter terakhir.
Jadi Anda perhatikan ini terlihat sangat akrab atau mirip dengan str char, ada
r tambahan di sini.
Jadi alih-alih mengembalikan yang pertama kejadian, ini akan mengembalikan
kejadian terakhir, tetapi Anda menggunakan cara yang sama seperti yang lain.
str.
Ini akan mencari string.
Jadi ini adalah fungsi pencarian di mana Anda mencoba
menemukan substring di dalam string.
Sekali lagi, mengambil dua pointer karakter.
strtok.
Ini adalah fungsi penting dimana Anda dapat membantu dengan parsing data.
Strtok mengambil pembatas sebagai parameter kedua dan itu akan
mencari karakter pembatas itu di mana saja di dalam string.
Begitu sering Anda menggunakan sesuatu seperti spasi atau umpan garis untuk s2.
Ini akan mematahkan string menjadi sejumlah token yang berbeda.
Sekali lagi, gunakan saat Anda mau untuk mengurai data biasanya.
Setiap kali Anda harus menelepon strtok beberapa kali sampai Anda
dengan nol jika Anda masih mencari tok berikutnya yang ingin Anda temukan dalam
string yang diberikan.
Kami juga memiliki beberapa hal penting fungsi karakter.
Semua fungsi karakter didefinisikan dalam ctype. H.
Fungsi karakter yang kita digunakan adalah fungsi is yang memeriksa apakah
suatu karakter adalah alfanumerik atau apakah itu kosong atau apakah
itu kontrol karakter digit, ada sejumlah fungsi yang
berbeda di sana.
Jadi ingat ctype itu. h memungkinkan kami untuk memeriksa karakter yang
berbeda ini apa sebenarnya mereka.
Kami juga memiliki beberapa fungsi konversi di ctype. h, terutama dua bagian atas kami.
Dua lebih rendah mengambil karakter dan itu akan memberikan
huruf kecil yang setara dengan c.
Ingat kita punya tantangan dimana kami mengubah huruf kecil menjadi huruf besar.
Dalam tantangan itu, kami benar-benar menambahkan ke tabel ASCII kami, tapi kami
bisa memanggil dua karakter di atas.
Kita bisa mengatur dua di sekitar karakter
selama kami menyertakan ctype. h dan itu akan dikonversi huruf kecil menjadi huruf besar.
Kami memiliki banyak IO fungsi, masukan dan keluaran.
Kami berkonsentrasi membaca dan menulis file, tetapi kami
juga membaca input dari keyboard, dan kami mengeluarkannya data ke konsol atau layar.
Jadi untuk menggunakan IO yang paling umum fungsi, itu saja
di standardio. h file header.
File ini memiliki deklarasi untuk fungsi IO yang berbeda
serta definisi untuk konstanta, seperti akhir file, standar nol dalam output standar
dan kesalahan standar.
Itu semua adalah nilai konstan.
Ada juga konstanta untuk file struktur file.
Fclose adalah fungsi yang kita digunakan untuk menutup aliran kami.
Itu menutup file diidentifikasi oleh penunjuk file.
Dan itu mengembalikan nol jika itu tutup sukses, jika tidak eof.
Feof, itu fungsi yang tidak kami lakukan gunakan secara eksplisit tetapi itu akan memeriksa apakah Anda berada
di akhir atau tidak dari file sebagai lawan membandingkan dengan konstanta,
Anda dapat melakukan feof.
Flush.
Ini adalah fungsi yang akan flush semua data buffer internal.
Terkadang Anda perlu melakukan ini ketika Anda ingin memulai kembali, tetapi pada dasarnya Anda
baru saja membuangnya dari apa pun di dalam buffer.
Kami juga memiliki fgetc.
Ini membaca secara individu karakter, mengambil file pointer.
Kami memiliki posisi fget.
Ini adalah beberapa dari fungsi posisi.
Itu mendapatkan posisi file saat ini untuk file
yang terkait dengan penunjuk file dan menyimpannya dalam tipe posisi f, yang didefinisikan
dalam standar io. h juga.
Kami memiliki fget kami.
Ini membaca dalam string.
Sangat bagus, membaca karakter dari file yang ditunjukkan,
tetapi jumlah karakter.
Fopen akan membuka file di a mode spesifik: baca, tulis,
atau tambahkan menggunakan penunjuk file.
Fprintf akan menulis data dan memformat output, dan ini mirip dengan fungsi printf yang
akan diambil argumen yang ditentukan oleh pointer dan kemudian menggunakan
data yang diformat untuk menulis.
Jadi Anda bisa menulis bilangan bulat, ganda menggunakan penentu format dan kemudian variabel
yang ingin Anda tulis.
Kami juga memiliki fputc, yang akan menulis karakter ke file.
Fputs akan menulis string ke file.
Dibutuhkan buffer dan file penunjuk apa yang ingin Anda tulis dan
file yang ingin Anda tulis.
Fscanf akan membaca data dari sebuah file.
Itu akan mengambil input, dan itu akan menggunakan jenis format
yang sama dengan scanf penentu format dan variabel.
Tapi ini bagus, kamu mau membaca dalam data yang dipisahkan oleh spasi.
Anda dapat menggunakan fscanf dan Anda dapat menentukan tipe jadi baca
langsung ke int, double, tipe data tertentu.
Fseek akan pindah posisi tempat yang Anda tuju dalam sebuah file.
Jadi Anda tidak harus mulai dari awal atau akhir file.
Bisa langsung ke tengah file.
Setelah Anda mencari posisi itu, Anda baca atau tulis berikutnya akan menggunakan
posisi itu untuk menulis atau membaca.
Posisi Fset mirip dengan fseek.
Ini mengatur posisi file saat
ini dalam file yang terkait dengan penunjuk file ke nilai ditunjuk oleh posisi f, fpos.
Kami juga memiliki ftell.
Ftell akan mengembalikan caranya banyak byte dari awal
Anda didasarkan pada penunjuk file.
Jadi itu relatif di luar kantor byte dari posisi saat
ini, tidak selalu awal, tapi posisinya sekarang.
Kami menggunakan ftell di salah satu dari kami tantangan untuk membaca file secara terbalik.
Cetakf.
Kami menggunakan ini mungkin lebih daripada fungsi lainnya.
Ini sedang ditampilkan keluaran ke layar.
Ini menggunakan penentu format dan sejumlah variabel argumen
yang dipisahkan oleh koma.
Printf sangat berguna untuk debugging dan menampilkan output, yang Anda lakukan
sedikit di dalam program c.
Menghapus.
Hapus adalah fungsi di mana Anda dapat menghapus file.
Dibutuhkan nama file.
Penunjuk file harus ditutup.
Anda tidak bisa membukanya.
Rename akan mengganti nama satu file menjadi file lain, juga harus ditutup
file tidak dapat dibuka.
Scanf akan membaca masukan dari biasanya default dari keyboard.
Anda dapat mengubahnya untuk membaca input dari aliran lain jika Anda mau.
Kami juga memiliki fungsi konversi yang kita diskusikan sepanjang kursus.
Sebagian besar fungsi ini ada di standar lib. h, file header.
Kami memiliki fungsi atof.
Ini mengubah string menjadi a mengapung, dan Anda meneruskannya dalam sebuah string.
Kami memiliki fungsi atoi.
Konversi ini string ke bilangan bulat.
Atol mengubah string menjadi a long, dan Anda memasukkan string
dan mengembalikan pengembaliannya metode yang Anda konversi.
Ini sangat berguna.
Anda sering menggunakan ini untuk mengonversi string ke beberapa jenis tipe angka.
Atoll mengubahnya menjadi int panjang yang panjang.
Tapi pastikan Anda melihat file header lib standar untuk
lebih banyak fungsi konversi.
Kami memiliki fungsi memori kami, kami fungsi alokasi memori dinamis.
Ini sangat penting.
Alokasi memori dinamis itu penting karena jauh lebih efisien.
Anda hanya memanfaatkan memori yang Anda butuhkan.
Anda tidak membuat data statis.
Ini memungkinkan program Anda menjadi jauh lebih fleksibel.
Semua fungsi ini adalah disertakan di dalam lib standar. H.
Kami berbicara tentang calloc.
Calloc adalah fungsi hebat di mana Anda dapat mengalokasikan ukuran tertentu
dan itu akan dikalikan dengan n.
Jadi Anda dapat menentukan tipe data juga dan itu akan melipatgandakannya.
Hal yang menyenangkan tentang calloc, itu menginisialisasi data Anda.
Jadi itu benar-benar lebih disukai daripada malloc.
Kami memiliki fungsi gratis kami yang akan menghapus memori.
Semua memori ini pergi untuk dibuat di heap.
Jadi kita akan sering berada di sekitar lebih lama, tetapi terserah Anda sebagai
programmer untuk mengelola memori ini.
Anda selalu ingin membebaskan Anda memori setelah Anda selesai menggunakannya
karena memori langka sumber daya di program lain dan kami ingin menggunakan
memori itu.
Jadi selalu hubungi gratis setelahnya Anda melakukan calloc atau malloc.
Malloc lebih sederhana versi menciptakan memori.
Sebenarnya tidak inisialisasi data apa pun.
Itu hanya mengambil ukuran sebagai parameter.
Ini mengembalikan bintang kosong.
Jadi, Anda harus selalu mentransmisikannya seperti halnya calloc ke jenis memori
apa pun yang Anda tuju.
Jika Anda menunjuk ke int atau mengapung, Anda harus melemparkan itu.
Kami juga memiliki realokasi.
Realloc luar biasa karena Anda bisa benar-benar menambah memori yang ada.
Jadi begini caramu memori bisa dinamis.
Anda bisa membuatnya lebih besar jika Anda ingin menyimpan lebih banyak data.
Realloc mengambil pointer dalam ukuran.
Itu akan menyimpan semua data yang memori sebelumnya menunjuk ke.
Ini akan mengalokasikan memori baru tetapi akan menyimpannya, sehingga Anda dapat menambahkan
ke beberapa memori yang ada.
Sangat, sangat berguna.
Dalam menciptakan memori secara dinamis adalah benar-benar akan berguna di semua program Anda terutama
karena pointer sangat, sangat penting mereka jauh
lebih efisien.
Tapi pastikan kamu mengerti semuanya file header ini yang kami
gunakan selama kursus.
Ini adalah yang utama yang sangat, sangat penting.
Kami akan berbicara tentang beberapa yang baru di beberapa kuliah berikutnya yang tidak bisa
kami diskusikan sebanyak yang saya suka.
Tapi ini beberapa yang penting juga.
Terima kasih.