Fungsi printf() menyediakan kaedah yang mudah untuk output terformat dalam pengaturcaraan C. Selain menentukan penentu format untuk jenis angka, printf() juga menawarkan pilihan untuk mengawal panjang rentetan yang dicetak.
Satu kaedah untuk menentukan bilangan maksimum aksara untuk cetak daripada rentetan adalah menggunakan sintaks berikut:
printf("Here are the first %d chars: %.*s\n", length, length, string);
Dalam format ini, hujah pertama (panjang) menunjukkan bilangan maksimum aksara untuk dicetak, manakala argumen kedua (.*) mengarahkan printf() untuk mendapatkan nilai panjang daripada argumen pertama. Argumen ketiga ialah rentetan yang akan dicetak.
Satu lagi cara yang lebih fleksibel untuk mengawal panjang rentetan yang dicetak ialah menggunakan tatatanda %*.*s:
printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
Di sini, kedua-dua lebar medan minimum dan maksimum ditentukan sebagai argumen integer untuk printf(). Format %.*s mengarahkan printf() untuk mencetak subrentetan rentetan yang disediakan, dengan lebar minimum minlen dan lebar maksimum maxlen.
Sebagai contoh, untuk cetak lapan aksara pertama rentetan "Rentetan yang melebihi 8 aksara," anda boleh menggunakan yang berikut kod:
printf("Here are the first 8 chars: %.*s\n", 8, "A string that is more than 8 chars");
Mekanisme kawalan panjang rentetan ini ditakrifkan dalam spesifikasi POSIX untuk printf(). Ia membenarkan kawalan tepat ke atas pemformatan dan output rentetan dalam program C.
Atas ialah kandungan terperinci Bagaimana untuk Mengawal Panjang Rentetan Bercetak dengan printf()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!