Bagaimanakah anda mengawal bilangan aksara yang dicetak dalam rentetan menggunakan printf() dalam C?

Barbara Streisand
Lepaskan: 2024-11-24 20:31:35
asal
164 orang telah melayarinya

How do you control the number of characters printed in a string using printf() in C?

Pemformatan Ketepatan Rentetan dalam C menggunakan printf()

Apabila mencetak rentetan menggunakan fungsi printf(), kadangkala wajar untuk menentukan bilangan aksara yang akan dicetak, sama seperti menentukan tempat perpuluhan semasa mencetak integer. Untuk mencapai matlamat ini, penentu ketepatan boleh digunakan dalam rentetan format.

Penentukan Ketepatan Asas

Penentukan ketepatan asas, %.8s, dengan 8 ialah aksara yang dikehendaki count, boleh digunakan untuk memotong rentetan kepada panjang yang ditentukan:

printf("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
Salin selepas log masuk

Ini akan menghasilkan output:

Here are the first 8 chars: A string
Salin selepas log masuk
Salin selepas log masuk

Penentukan Ketepatan Lanjutan

Pendekatan yang lebih fleksibel ialah menggunakan penentu %*.*s, di mana * yang kedua menunjukkan bilangan maksimum aksara untuk dicetak dan yang pertama * menunjukkan bilangan minimum aksara untuk dicetak. Bilangan sebenar aksara yang dicetak akan menjadi lebih kecil daripada panjang minimum dan maksimum yang ditentukan:

printf("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
Salin selepas log masuk

Ini juga akan menghasilkan output:

Here are the first 8 chars: A string
Salin selepas log masuk
Salin selepas log masuk

Ini specifier membenarkan kawalan yang lebih besar ke atas proses pencetakan rentetan, membolehkan pelarasan masa jalan bagi panjang minimum dan maksimum. Selain itu, notasi %*.*s boleh digunakan untuk melaraskan lebar rentetan yang dicetak secara dinamik, berdasarkan nilai pembolehubah:

printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah anda mengawal bilangan aksara yang dicetak dalam rentetan menggunakan printf() dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan