Menyesuaikan Panjang Output Rentetan dalam printf()
Dalam dunia pengaturcaraan, printf() ialah fungsi serba boleh yang digunakan untuk mencetak data berformat . Walau bagaimanapun, bagaimana jika anda mahu mengawal bilangan aksara yang dicetak daripada rentetan? Begini cara anda boleh melakukannya:
Kaedah 1: Penentu Ketepatan
Penentukan ketepatan membolehkan anda menentukan bilangan maksimum aksara untuk dicetak. Contohnya:
printf("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
Ini akan mencetak:
Here are the first 8 chars: A string
Kaedah 2: Lebar Dinamik dan Argumen Ketepatan
Pendekatan yang lebih fleksibel ialah untuk menggunakan tatatanda '*':
printf("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
Ini secara berkesan menganggap '' sebagai ruang letak untuk hujah yang memberikan panjangnya. '8' sebelum '' mewakili bilangan minimum aksara untuk dicetak, manakala '8' selepas '*' mewakili maksimum.
Notasi Lanjutan
Untuk kawalan yang lebih besar, anda boleh menggunakan tatatanda berikut:
printf("Here are the first 8 chars: %*.*s\n", 8, 8, "A string that is more than 8 chars");
Ini membolehkan anda menentukan kedua-dua panjang minimum dan maksimum semasa masa jalan, menjadikannya sesuai untuk situasi di mana anda memerlukan kawalan keluaran dinamik .
Perhatikan bahawa mekanisme ini ditakrifkan dalam spesifikasi POSIX untuk printf(), memastikan ketersediaannya merentas pelbagai platform dan penyusun.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menyesuaikan panjang keluaran rentetan menggunakan printf()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!