Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengawal Panjang Rentetan Bercetak dengan printf()?

Bagaimana untuk Mengawal Panjang Rentetan Bercetak dengan printf()?

Barbara Streisand
Barbara Streisandasal
2024-11-11 14:15:03243semak imbas

How to Control the Length of Printed Strings with printf()?

Cara Mengawal Panjang Rentetan Bercetak dengan printf()

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.

Menentukan Panjang Maksimum

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.

Menentukan Lebar dan Ketepatan Pemformatan

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.

Contoh Penggunaan

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

Butiran Pelaksanaan

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!

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