Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah anda mengawal bilangan aksara yang dicetak dalam rentetan menggunakan printf() dalam C?

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

Barbara Streisand
Barbara Streisandasal
2024-11-24 20:31:35272semak imbas

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");

Ini akan menghasilkan output:

Here are the first 8 chars: A string

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");

Ini juga akan menghasilkan output:

Here are the first 8 chars: A string

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);

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!

Kenyataan:
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