C fungsi perpustakaan - printf. Untuk integer specifiers d, i, o, u, x, X precision menentukan jumlah digit minimum yang akan ditulis Jika nilai yang akan ditulis lebih pendek dari angka ini, hasilnya dilapisi dengan angka nol terkemuka. Nilai tidak terpotong bahkan jika hasilnya lebih panjang Ketepatan 0 berarti tidak ada karakter yang ditulis untuk nilai 0 Untuk e, E dan f specifiers ini adalah jumlah digit yang akan dicetak setelah titik desimal Untuk g dan G specifiers Ini Adalah jumlah maksimum digit signifikan yang akan dicetak Untuk ini adalah jumlah maksimum karakter yang akan dicetak Secara default semua karakter dicetak sampai karakter null berakhir ditemui Untuk tipe c tidak berpengaruh Bila tidak ada presisi yang ditentukan, default Adalah 1 Jika periode ditentukan tanpa nilai eksplisit untuk presisi, 0 diasumsikan. Ketepatan tidak ditentukan dalam format string, namun sebagai argumen nilai integer tambahan sebelum argumen yang harus diformat. Argumennya adalah antar Preted sebagai int pendek atau unsigned int pendek hanya berlaku untuk integer specifiers i, d, o, u, x dan X. Argumen diinterpretasikan sebagai int panjang atau unsigned int untuk integer specifiers i, d, o, u, x Dan X, dan sebagai karakter yang lebar atau karakter string yang lebar untuk penspesifikasi c dan s. Argumen diinterpretasikan sebagai double panjang hanya berlaku untuk specifier floating point e, E, f, g dan G. additional argument Tergantung pada format string, Fungsi dapat mengharapkan urutan argumen tambahan, masing-masing berisi satu nilai untuk dimasukkan alih-alih masing-masing-ditentukan dalam parameter format jika ada Harus ada jumlah yang sama dari argumen ini sebagai jumlah-tag yang mengharapkan nilai. Nilai. Jika berhasil, jumlah total karakter yang ditulis dikembalikan Pada kegagalan, angka negatif dikembalikan. Contoh berikut menunjukkan penggunaan fungsi printf. Mari kita kompilasi dan jalankan program di atas untuk menghasilkan hasil berikut. Cetak data terformat ke Stdout. Writes titik string C Ed format ke stdout keluaran standar Jika format mencakup urutan penspesifikasi format yang dimulai dengan, argumen tambahan berikut format diformat dan dimasukkan ke dalam string yang dihasilkan menggantikan masing-masing specifier. format C yang berisi teks yang akan ditulis ke stdout Ini dapat secara opsional Berisi penspesifikasi format tertanam yang digantikan oleh nilai yang ditentukan dalam argumen tambahan berikutnya dan diformat seperti yang diminta. Dimana karakter penspesifikasi pada akhirnya adalah komponen yang paling signifikan, karena ia mendefinisikan jenis dan interpretasi dari argumen yang terkait. Unsigned decimal integer. Unsigned hexadecimal integer. Unsigned hexadecimal integer uppercase. Decimal floating point, huruf kecil. Decimal floating point, huruf besar. Notasi visual mantissa eksponen, huruf kecil. Notasi visual mantissa eksponen, huruf besar. Gunakan representasi terpendek e atau f. Gunakan yang terpendek Representasi E atau F. Hexadecimal mengambang p Oint, lowercase. Hexadecimal floating point, uppercase. String karakter. Tidak ada yang tercetak Argumen yang sesuai harus berupa pointer ke tanda yang ditandatangani Jumlah karakter yang ditulis sejauh ini tersimpan di lokasi yang runcing. Kemudian diikuti karakter lain yang akan menulis single. Ke arus. Format specifier juga dapat berisi lebar dan pengubah sub-penspesifikasi dalam urutan itu, yang bersifat opsional dan mengikuti spesifikasi ini. Lepas-membenarkan dalam bidang yang diberikan lebar Pembenaran kanan adalah sub-specifier bawaan standar. Kekuatan untuk Mendahului hasilnya dengan tanda plus atau minus atau - bahkan untuk angka positif Secara default, hanya angka negatif yang didahului dengan tanda. Jika tidak ada tanda yang akan ditulis, ruang kosong dimasukkan sebelum nilainya. Diisi dengan lembu atau X penspesifikasi nilai diawali dengan 0 0x atau 0X masing-masing untuk nilai yang berbeda dari nol Digunakan dengan A e E f F g atau G itu memaksa keluaran tertulis mengandung titik desimal bahkan jika tidak ada lagi digit yang mengikuti Oleh defau Jika tidak ada angka yang mengikuti, tidak ada titik desimal yang ditulis. Lepaskan bantalan nomor dengan nol 0, bukan spasi saat padding ditentukan. Lebar sub-specifier. Untuk integer specifiers dioux X precision menentukan jumlah digit minimum yang akan ditulis If Nilai yang akan ditulis lebih pendek dari angka ini, hasilnya dilapisi dengan angka nol terkemuka Nilai tidak terpotong meski hasilnya lebih panjang Ketepatan 0 berarti tidak ada karakter yang ditulis untuk nilai 0 Untuk A e E f dan F specifiers ini adalah jumlah digit yang akan dicetak setelah titik desimal secara default, ini adalah 6 Untuk g dan G specifiers Ini adalah jumlah maksimum digit signifikan yang akan dicetak Untuk s ini adalah jumlah karakter maksimum yang akan dicetak Default semua karakter dicetak sampai karakter null berakhir ditemui Jika periode ditentukan tanpa nilai eksplisit untuk presisi 0 diasumsikan. Ketepatan tidak ditentukan dalam format string, namun sebagai nilai integer tambahan, argume Nt mendahului argumen yang harus diformat. Sub-specifier panjang memodifikasi panjang tipe data Ini adalah bagan yang menunjukkan jenis yang digunakan untuk menafsirkan argumen yang sesuai dengan dan tanpa specifier panjang jika jenis yang berbeda digunakan, tipe yang tepat Promosi atau konversi dilakukan, jika diperbolehkan. Perhatikan mengenai specifier c yang dibutuhkan int atau wintt sebagai argumen, namun lakukan konversi yang tepat menjadi nilai char atau wchart sebelum memformatnya untuk output. Catatan Baris Kuning menunjukkan penspesifikasi dan sub-penspesifikasi Diperkenalkan oleh C99 Lihat cinttypes untuk penspesifikasi untuk argumen tambahan tipe diperpanjang Tergantung pada format string, fungsi tersebut dapat mengharapkan urutan argumen tambahan, masing-masing berisi nilai yang akan digunakan untuk mengganti format specifier dalam format string atau pointer ke a. Lokasi penyimpanan, untuk n Harus ada setidaknya sebanyak argumen ini sebagai jumlah nilai yang ditentukan dalam format specifiers Argumen tambahan diabaikan oleh t Dia function. Return Value. On sukses, jumlah total karakter yang ditulis dikembalikan. Jika terjadi kesalahan penulisan, indikator kesalahan ferror diset dan bilangan negatif dikembalikan. Jika terjadi kesalahan pengkodean karakter multibyte saat menulis karakter yang lebar, errno Diatur ke EILSEQ dan angka negatif dikembalikan. Implementasi perpustakaan khusus dapat mendukung penspesifikasi dan subspesifier tambahan. Yang tercantum di sini didukung oleh standar C dan C terbaru yang diterbitkan pada tahun 2011, namun yang berwarna kuning diperkenalkan di C99 hanya diperlukan untuk C sejak C 11, dan mungkin tidak didukung oleh perpustakaan yang sesuai dengan standar yang lebih tua. puts Menulis string ke fungsi stdout scanf Membaca data berformat dari fungsi stdin fprintf Menulis data yang diformat ke fungsi stream fwrite Tulis blok data ke fungsi stream. Konstanta. C print char sebagai pilihan biner. Kita juga bisa mengurangi atau membandingkan dua pointer dengan tipe yang sama Jadi ketika kita melakukan ptr1 arr, ptr1 mulai memegang alamat Elemen 10 C print char sebagai pilihan biner Jadi saya mendapatkan pada perdagangan valas Saint Helena Uchar args, const struct pcappkthdr header, const uchar packet void print n printf Pilihan menghindari pencetakan data biner void print arr 5 memberikan alamat elemen ke-6 sebagai aritmatika yang dilakukan. Menggunakan pointer Ketika kita melakukan char ptr2, ptr2 adalah tipe-casted to char pointer dan ukuran karakter adalah satu byte, aritmatika pointer terjadi dengan mempertimbangkan pointer karakter Jadi bagaimana kita mengubah nilai variabel lokal dari fungsi di dalam fungsi lain Menggunakan pointer, Kita dapat memodifikasi variabel lokal fungsi di dalam fungsi lain Fungsi menyenangkan mengharapkan pointer ptr ke integer atau alamat integer Operator dereference digunakan untuk mengakses nilai pada sebuah alamat Itulah sebabnya ptr2 bertambah untuk menunjuk ke arr 3 pada kode di atas Perhatikan bahwa hanya nilai integral yang dapat ditambahkan atau dikurangkan dari sebuah pointer. Operator alamat membatalkan cetak n printf Pilihan hindari pencetakan data biner void print int main Int ptr1 arr int ptr2 arr 5 printf Jumlah elemen antara dua pointer adalah d, ptr2 - ptr1 printf Jumlah byte antara dua pointer adalah d, char ptr2 - char ptr1 return 0 Nama Array memberi alamat elemen pertama dalam array. Jadi kita Mendapatkan 5 sizeof int sizeof char sebagai perbedaan dua pointer Untuk memahami output ini, biarkan bilangan bulat disimpan dengan menggunakan bit cetak C 16 bit sebagai pilihan biner. Jadi, dalam program yang diberikan, array berisi ransum ukuran pointer dan ukuran integer, ransum ini adalah Kompiler Pada Bisnis Rumah Tangga Untuk Memulai Input dan Output C - Pelajari standar ANSI, GNU dan KR bahasa pemrograman C dengan contoh sederhana dan mudah meliputi dasar C, dasar-dasar bahasa, literal, tipe data GbDVB v 3 4 - Standar set ETSI DVB dari dekoder Demodulator Copyright C 2000-2009 oleh Giuseppe Baruffa Paruh Waktu Bisnis Dari Rumah Di Malaysia Uchar args, const struct pcappkthdr header, const uchar packet void print n printf Pilihan untuk menghindari pencetakan data biner tidak dicetak Orang menggunakannya hanya untuk re Adability sehingga pembaca jelas tentang tipe parameter yang dimaksud Dalam pernyataan ptr 30, nilai pada alamat ptr diubah menjadi 30 Pada fungsi call statement fun Perhatikan penggunaan disini bukan untuk dereferencing, ini untuk tipe data int int x Ptr ptr sekarang menunjuk ke x atau ptr sama dengan alamat x ptr 0 set value makan ptr ke 0 atau set x to zero printf xdn, x prints x 0 printf ptr dn, ptr prints ptr 0 ptr 5 kenaikan nilai pada ptr oleh 5 printf xdn, x prints x 5 printf ptr dn, ptr prints ptr 5 ptr kenaikan nilai pada ptr oleh 1 printf xdn, x prints x 6 printf ptr dn, ptr prints ptr 6 int main int ptri arri char arrc char ptrc arrc printf Ukuran dari arri d, ukuran dari ukuran arri, ukuran dari ukuran cetakan, ukuran ukuran cetakan, ukuran ptrc return 0 Ukuran array adalah jumlah elemen dikalikan dengan jenis elemen, oleh karena itu kita mendapatkan ukuran Arri sebagai 12 dan sizeof arrc sebagai 3 Semua tipe pointer mengambil jumlah byte yang sama untuk Kompiler Ketika kita menambahkan nilai x ke pointer p, nilai dari ekspresi resultan adalah px sizeof p dimana sizeof p berarti ukuran tipe data yang ditunjukkan oleh p C print char sebagai opsi biner Pada mesin endian kecil, ketika kita melakukan x 0 1 dan x 1 2, angka a diubah menjadi 00000001 00000010 yang merupakan representasi 513 pada mesin endian kecil Parameter selalu dilewati nilai C Karena, pada kode diatas, nilai y tidak dimodifikasi dengan fungsi fun Jadi bagaimana kita memodifikasi nilai dari Operator ini membatalkan efek satu sama lain saat digunakan satu demi satu ptr memberi kita g, ptr memberi alamat g, ptr lagi g, alamat ptr dari g, dan akhirnya ptr memberi g Sekarang coba di bawah ini Digunakan untuk memperjelas bahwa fungsi mengharapkan sebuah array, namun tidak mengubah apapun. Oleh karena itu, pada kode di atas, nilai y tidak dimodifikasi dengan menggunakan fungsi yang menyenangkan Kami hanya mendapatkan efek melalui referensi menggunakan pointer C print Char sebagai opsi biner 1 sertakan Lihat penjelasan di bawah A Dengan petunjuk , Alamat variabel dapat dilalui fungsi yang berbeda dapat menggunakan alamat ini untuk mengakses Binary Options 500 Returns Operator digunakan untuk dereferencing dan operator digunakan untuk mendapatkan alamat Pada kode diatas, ptr adalah pointer ke karakter pertama dari string g Saham Apple Overnight Trading B Ketika variabel struktur besar dilewati atau dikembalikan, mereka akan disalin karena semuanya dilewatkan dan dikembalikan berdasarkan nilai pada navigasi C. Post. Postingan Terkini. Teks asli. Ada juga kombinasi biner konversi di glibc yang biasanya. Hal ini dimungkinkan untuk Tambahkan jenis konversi ubahsuaian ke keluarga fungsi printf di glibc See registerprintffunction for details Anda bisa menambahkan konversi b custom untuk Anda gunakan sendiri, jika menyederhanakan kode aplikasi agar tersedia. Berikut adalah contoh bagaimana menerapkan printf kustom. Format di glibc. Juga, apa yang Anda bicarakan wrt menangani beberapa hasil secara berurutan bukanlah reentrancy per se, melainkan hanya kejatuhan penggunaan jumlah sebesar globa Saya keberatan untuk menyimpan hasilnya dalam Fungsi tidak dimasukkan kembali Dalam C yang tepat, atau paling tidak banyak digunakan, idiom untuk menangani fungsi yang menyimpan hasilnya dalam objek global adalah dengan menyalin hasilnya segera setelah mendapatkannya. Keuntungan utama bahwa jika hanya satu hasil yang dibutuhkan pada suatu waktu maka tidak ada alokasi tambahan yang diperlukan Greg A Woods 27 Nov 12 di 0 51. Di sini kita harus tidak setuju bahwa saya tidak dapat melihat bagaimana menambahkan satu simbol preprocessor yang tidak mencolok datang mendekati Bahaya membatasi penggunaan kasus dengan parah, membuat antarmuka menjadi rawan kesalahan, memesan penyimpanan permanen selama program untuk nilai sementara, dan menghasilkan kode yang lebih buruk pada kebanyakan platform modern. R Nov 27 12 at 1 53. Keluarga printf adalah Hanya mampu mencetak di basis 8, 10, dan 16 menggunakan penspesifikasi standar secara langsung Sarankan untuk membuat fungsi yang mengubah nomor menjadi string per kode. Kebutuhan lainnya sejauh ini memiliki setidaknya satu dari li ini. Mitations. Use memori statis untuk buffer kembali Ini membatasi berapa kali fungsi dapat digunakan sebagai argumen untuk printf. Allocate memori yang memerlukan kode panggil untuk membebaskan pointer. Memerlukan kode panggilan untuk secara eksplisit memberikan buffer. Call sesuai printf secara langsung Ini mewajibkan fungsi baru untuk mencetak lebih cepat daripadanya. Gunakan rentang bilangan bulat yang dikurangi. Berikut ini tidak ada batasan di atas yang memerlukan C99 atau yang lebih baru dan penggunaan s Menggunakan literal majemuk untuk menyediakan ruang penyangga. Tidak memiliki Masalah dengan beberapa panggilan dalam printf. Write data yang diformat ke stream. Write string C yang ditunjukkan oleh format ke stream Jika format mencakup urutan awal format yang dimulai dengan, argumen tambahan berikut format diformat dan dimasukkan ke dalam string yang dihasilkan yang menggantikan masing-masing specifier . Setelah parameter format, fungsi mengharapkan setidaknya sebanyak argumen tambahan seperti yang ditentukan oleh format. stream Pointer ke objek FILE yang ident Ifies sebuah format output stream C string yang berisi teks yang akan ditulis ke stream Ini opsional dapat berisi specifiers format tertanam yang digantikan oleh nilai-nilai yang ditentukan dalam argumen tambahan berikutnya dan diformat seperti yang diminta. Format specifier mengikuti prototipe ini. Dimana specifier Karakter pada akhirnya adalah komponen yang paling signifikan, karena mendefinisikan jenis dan interpretasi dari argumen yang terkait. Ditandai desimal integer. Unsigned desimal integer. Unsigned hexadecimal integer. Unsigned hexadecimal integer uppercase. Decimal floating point, lowercase. Decimal floating point, Huruf besar. Notasi artistik eksponen mantissa, huruf kecil. Notasi artistik mantissa eksponen, huruf besar. Gunakan representasi terpendek e atau f. Gunakan representasi terpendek E atau F. Titik didekorasi khusus, huruf kecil. Titik terapung apeksimal, huruf besar. Penangkapan karakter. Tidak ada yang dicetak. Argumen yang sesuai harus berupa pointer ke int yang ditandatangani Jumlah charac Tersusun sejauh ini disimpan di lokasi yang runcing. Kemudian diikuti karakter lain yang akan menulis single ke stream. Format specifier juga bisa berisi sub-specifier bendera lebar dan pengubah dalam urutan itu, yang bersifat opsional dan mengikuti spesifikasi ini. - justifikasikan dalam lebar bidang yang diberikan Pembenaran kanan adalah sub-specifier. forces awalan default untuk mendahului hasilnya dengan tanda tambah atau minus atau - bahkan untuk bilangan positif Secara default, hanya angka negatif yang didahului dengan tanda. Jika tidak ada Tanda akan ditulis, ruang kosong dimasukkan sebelum nilainya. Dengan bilangan bulat lembu atau X, nilai diawali dengan 0 0x atau 0X masing-masing untuk nilai yang berbeda dari nol Digunakan dengan A e E f F g atau G it forces Output tertulis mengandung titik desimal bahkan jika tidak ada lagi digit yang mengikuti Secara default, jika tidak ada digit yang mengikuti, tidak ada titik desimal yang ditulis. Left-pads angka dengan nol 0, bukan spasi saat padding ditentukan lihat sub-specifier. For lebar Spec integer Ifiers dioux X precision menentukan jumlah digit minimum yang akan ditulis Jika nilai yang akan ditulis lebih pendek dari angka ini, hasilnya dilapisi dengan angka nol terkemuka Nilai tidak terpotong meski hasilnya lebih panjang Ketepatan 0 berarti tidak ada Karakter ditulis untuk nilai 0 Untuk penspesifikasi A e E dan F, ini adalah jumlah digit yang akan dicetak setelah titik desimal secara default, ini adalah 6 Untuk g dan G specifiers Ini adalah jumlah maksimum digit signifikan untuk menjadi Dicetak Untuk s ini adalah jumlah maksimum karakter yang akan dicetak Secara default semua karakter dicetak sampai karakter null akhir ditemui Jika periode ditentukan tanpa nilai eksplisit untuk presisi 0 diasumsikan. Ketepatan tidak ditentukan dalam format string. , Tetapi sebagai argumen nilai integer tambahan sebelum argumen yang harus diformat. Sub-specifier panjang memodifikasi panjang tipe data Ini adalah bagan yang menunjukkan jenis yang digunakan untuk menafsirkan cor Menanggapi argumen dengan dan tanpa specifier panjang jika tipe yang berbeda digunakan, promosi atau konversi tipe yang tepat dilakukan, jika diperbolehkan. Perhatikan bahwa specifier c memerlukan argumen int atau wintt, namun melakukan konversi yang benar ke nilai char atau nilai Wchart sebelum memformatnya untuk output. Catatan Baris Kuning menunjukkan penspesifikasi dan sub-penspesifikasi yang diperkenalkan oleh C99 Lihat tip untuk penspesifikasi untuk argumen tambahan jenis tambahan Bergantung pada format string, fungsinya mungkin mengharapkan urutan argumen tambahan, masing-masing berisi nilai untuk Digunakan untuk mengganti format specifier dalam format string atau pointer ke lokasi penyimpanan, n harus ada setidaknya sebanyak argumen ini sebagai jumlah nilai yang ditentukan dalam format specifiers Argumen tambahan diabaikan oleh fungsi. Value. On sukses, jumlah total karakter yang ditulis dikembalikan. Jika terjadi kesalahan penulisan, indikator kesalahan ferror diset dan bilangan negatifnya kembali. Ed. Jika kesalahan pengkodean karakter multibyte terjadi saat menulis karakter lebar, errno disetel ke EILSEQ dan nomor negatif dikembalikan. Contoh ini meminta 3 kali pengguna untuk memberi nama dan kemudian menuliskannya ke masing-masing baris dengan panjang tetap Total 19 karakter baris baru Dua tag format digunakan d Signed decimal integer -10 10s left-justified -, minimal sepuluh karakter 10, maksimal sepuluh karakter 10, string s Dengan asumsi bahwa kita telah memasuki John Jean-Francois dan Yoko sebagai 3 nama, akan berisi. Implementasi perpustakaan khusus dapat mendukung penspesifikasi dan sub-penspesifikasi tambahan. Yang tercantum di sini didukung oleh standar C dan C terbaru yang diterbitkan pada tahun 2011, namun yang berwarna kuning diperkenalkan di C99 hanya diperlukan untuk implementasi C sejak C 11 , Dan mungkin tidak didukung oleh perpustakaan yang sesuai dengan standar yang lebih tua. printf Mencetak data yang diformat ke fungsi stdout fscanf Membaca data berformat dari fungsi arus fwrite Tulis blok data ke fungsi stream Fputs Menulis string ke fungsi stream.
No comments:
Post a Comment