Halo, dan selamat datang kembali.
Dalam kuliah ini, saya ingin berbicara tentang beberapa fungsi utilitas yang
disediakan oleh pustaka standar c.
Dan ini melakukan persis seperti yang Anda lakukan akan berpikir
hanya beberapa utilitas, beberapa fungsi umum umum untuk melakukan berbagai hal yang berbeda.
Untuk menggunakan fungsi utilitas, mereka biasanya di lib standar. H.
Jadi Anda menyertakan file header itu.
Beberapa fungsi yang akan saya ikuti untuk menggambarkan fungsi yang hanya berguna.
Salah satunya adalah nilai absolut abs.
Mengembalikan yang mutlak nilai sebuah argumen.
Nilai mutlak adalah mengubahnya menjadi positif.
Jadi jika Anda lulus dalam negatif atau seterusnya, itu akan
mengembalikan Anda nilai positif.
Ada fungsi yang disebut exit.
Saya sudah menggunakan ini sedikit dalam fungsi utama kami.
Ini akan mengambil bilangan bulat, biasanya a mengembalikan nilai dan biasanya
angka negatif berarti ada kesalahan angka positif atau nol berarti tidak ada kesalahan atau
satu berarti tidak ada kesalahan.
Ini akan berakhir program sekalipun.
Itu hanya akan melompat keluar.
Jika Anda berada di fungsi utama, Anda melakukan pengembalian, Anda
dapat kembali dari fungsi utama.
Tapi keluar biasanya untuk menutup program.
Ada beberapa konstanta juga didefinisikan seperti keberhasilan keluar dan kegagalan
keluar yang dapat Anda gunakan jika Anda tidak ingin menggunakan angka.
Rutinitas terkait lainnya di perpustakaan yang mungkin ingin
Anda rujuk adalah penting saat keluar.
Dan Anda akan melihat ini dalam waktu yang cukup lama bit c program, terutama membatalkan.
Aborsi adalah ketika ada beberapa jenis kesalahan seperti jika Anda tidak dapat malloc,
Anda dapat memanggil abort, dan Anda dapat mengaturnya ke sinyal.
Hal yang baik dengan menggugurkan apakah itu akan
menghasilkan file inti tergantung pada sinyal.
File inti dapat membantu untuk debug untuk informasi lebih lanjut.
Tapi exit batal dan atexit sangat fungsi yang berguna, biasanya dipanggil ketika Anda
memiliki kesalahan fatal.
Ada lingkungan get fungsi yang memungkinkan Anda membaca
variabel lingkungan.
Variabel lingkungan biasanya berhubungan dengan lingkungan Anda.
Mereka adalah variabel yang Anda
dapat menggunakannya seperti variabel global yang dapat Anda gunakan mana saja di sistem operasi.
Jadi jika itu Linux, Anda memiliki variabel lingkungan untuk jalur Anda.
Ada variabel lingkungan di windows untuk menentukan jalur atau di mana program
yang berbeda berada atau hanya variabel global generik.
Anda dapat mengatur variabel lingkungan dan kemudian Anda dapat membacanya menggunakan
fungsi get environment ini.
Dan itu akan terbaca di dalamnya variabel lingkungan dan Anda dapat menggunakannya
dalam program Anda.
Jadi sekali lagi, hal-hal seperti jalan apa saja yang terkait dengan shell Anda
atau terkait dengan lingkungan Anda.
Dapatkan lingkungan sangat berguna.
Ada fungsi qsort.
Ini akan mengurutkan array data ditunjuk oleh array pointer kosong.
Jadi ada array itu diambil sebagai parameter pertama dan
itu akan mengurutkannya.
Akan ada n elemen di array, setiap ukuran menggigit panjangnya.
Dan n dan ukurannya adalah dari jenis ukuran t.
Jadi ada empat variabel yang pergi ke fungsi ini.
Tapi qsort bagus karena Anda dapat mengurutkan array.
Argumen keempat adalah pointer ke fungsi yang ingin Anda
gunakan untuk menyortir.
Sehingga bisa menjadi lebih rumit.
Tapi fungsi ini sangat berguna ketika Anda perlu membandingkan
dua elemen dalam array.
Anda dapat memberikan petunjuk ke elemen yang
ingin Anda bandingkan.
Kami memiliki fungsi acak.
Kami menggunakan ini di salah satu tantangan kami rand.
Ini akan menghasilkan nomor acak.
Anda dapat menentukan benih jika Anda mau di fungsi lain
atau itu hanya akan menghasilkan angka acak antara a nilai minimum 3276, dan nilai
minimum nol acak, nilai maksimum 3276.
Jadi, Rand max didefinisikan dalam lib standar. H.
Anda akan sering menggunakan ini dengan sran fungsi, yang menyediakan benih.
Sebuah benih dapat memberikan kisaran tertentu.
Itu akan membuat angka mungkin lebih acak juga.
Jadi itu benih nomor acak generator ke int yang tidak ditandatangani.
Sistem adalah fungsi yang Anda dapat dipanggil untuk menjalankan panggilan sistem.
Saya menggunakannya di kelas untuk melakukan jeda.
Tapi apa pun yang bisa Anda jalankan dari konsol, seperti mengubah
direktori, mengubah izin jika Anda aktif Linux, menjalankan program lain, Anda dapat melakukan
semua ini melalui sistem.
Dan ini akan benar-benar jalankan perintah di shell Anda, apakah itu
dos Prompt atau Anda menggunakan shell di Linux.
Ini akan menjalankan perintah itu.
Jadi misalnya Anda bisa, katakan sistem membuat dir dan itu akan membuat direktori apa
pun yang Anda tentukan dalam argumen untuk membuat dir.
Semuanya di dalam ganda tanda kutip, jadi dibutuhkan string.
Sistem juga sangat, sangat berguna.
Perpustakaan asersi adalah berguna untuk debugging.
Kami tidak mendapat kesempatan untuk berbicara banyak tentang menegaskan, tapi saya
ingin menyebutkannya secara singkat.
Ini adalah perpustakaan yang ditegaskan. H dan itu salah satu untuk membantu dengan debugging.
Jadi, tegaskan adalah mengatakan sesuatu itu benar.
Jadi Anda bisa memasukkan pernyataan di dalam kode Anda untuk memastikan bahwa ada sesuatu
yang benar sebelum Anda pindah ke baris kode berikutnya.
Ada makro yang menegaskan bahwa Anda akan menggunakan dan dibutuhkan
argumen seperti ekspresi batin.
Jika ekspresi bernilai salah, makro tegas menulis pesan kesalahan ke
kesalahan standar streaming dan memanggil fungsi batal.
Jadi programmer Anda berhenti.
Jadi kamu bisa meletakkan sesuatu dalam kode Anda yang pada dasarnya
mengatakan sesuatu seperti ini.
Anda dapat mengatakan z sama dengan x kali x dikurangi x kali y.
Dan kemudian Anda dapat menyatakan bahwa z lebih besar atau sama dengan nol.
Jika itu mengembalikan false, Anda program akan keluar.
Jika tidak, itu akan dieksekusi baris kode berikutnya.
Jadi itu seperti membuat kenyataan asumsi di seluruh kode Anda.
Anda ingin memastikan bahwa nilai-nilai tertentu adalah apa adanya sebelum Anda
melanjutkan ke yang berikutnya.
Ini pada dasarnya memastikan bahwa Anda tidak suka membagi dengan nol di sana
Anda tidak memiliki nilai nol ketika Anda melakukan perkalian ini.
Anda akan sering melihat pernyataan di dalam dari c program untuk debugging.
File header berguna lainnya yang Anda mungkin ingin melihat ke dalam: waktu. H.
Waktu. h memiliki segala macam yang berbeda fungsi dan makro untuk mendukung
tanggal dan waktu yang berbeda.
Biasanya, mengembalikan waktu t struct.
Tapi Anda bisa mendapatkan tanggalnya.
Anda bisa mendapatkan waktu.
salah. h atau nomor kesalahan. H.
Ini mendefinisikan makro untuk pelaporan kesalahan.
Sering digunakan, sekali lagi, untuk debugging yang lebih baik dan
pelaporan kesalahan tertentu.
Jadi banyak fungsi Anda digunakan di perpustakaan standar.
Jika gagal, mereka dapat mengembalikan nomor untuk kesalahan tertentu, dan itu lebih penting ketika Anda menggunakan beberapa
soket fungsi hal-hal lain karena mungkin ada banyak
kesalahan yang berbeda.
Terkadang itu berguna untuk diketahui
apa yang terjadi sebagai lawan hanya mengatakan ada kesalahan tidak sangat membantu
untuk mengatakan jenis kesalahan tertentu sangat berguna.
Jadi Anda bisa mendapatkan nomor kesalahan menggunakan ini dengan untuk membantu
debugging lebih lanjut.
lokal. H.
Ada banyak fungsi dan makro di
header ini untuk memformat berbeda mata uang dan unit moneter.
Sinyal. H.
Ini berguna untuk biasanya untuk penghentian program menghasilkan sinyal
yang berbeda.
Sinyal bukanlah topik yang kami bahas dalam banyak detail
tetapi ini bisa berguna ketika Anda memanggil abort menentukan sinyal tertentu saat program macet
atau program dihentikan.
Dan Anda dapat menggunakan ini jika Anda memahami sinyal Anda dapat menggunakannya dalam
file inti Anda juga.
Stdarg. H.
Ini mendefinisikan berbagai fasilitas yang aktifkan sejumlah variabel argumen
untuk diteruskan ke suatu fungsi, varargs.
Kami menggunakan vargs dan printf, tetapi kami tidak melakukannya buat fungsi kita sendiri dari arg.
Ini adalah topik yang lebih maju.
Tapi ini adalah file header dasar yang mungkin berguna untuk mendapatkan waktu,
nomor kesalahan, dan sebagainya.
Ini adalah fungsi utilitas yang baik.
Jadi saya harap ini bermanfaat.
Terima kasih.