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!