Bagaimana cara mengisi string dengan spasi di sebelah kiri saat menggunakan printf?
Misalnya, saya ingin mencetak "Halo" dengan 40 spasi sebelumnya.
Juga, string yang ingin saya cetak terdiri dari beberapa baris. Apakah saya perlu mencetak setiap baris secara terpisah?
EDIT: Untuk memperjelas, saya ingin tepat 40 spasi dicetak sebelum setiap baris.
sumber
Saya menggunakan fungsi ini untuk membuat indentasi keluaran saya (misalnya untuk mencetak struktur pohon). The
indent
adalah jumlah spasi sebelum string.sumber
printf(..., indent, "", ...)
)Pernyataan ini akan menyimpan satu baris 40 karakter, mencetak string di akhir baris (menghapus spasi ekstra sehingga total panjang baris konstan pada 40). Hal yang sama dapat digunakan untuk karakter dan bilangan bulat sebagai berikut:
Metode ini menggunakan parameter untuk menentukan spasi berguna di mana sejumlah variabel diperlukan. Pernyataan ini masih akan bekerja dengan literal integer sebagai berikut:
Semoga ini bisa membantu seseorang seperti saya di masa depan.
sumber
error: empty character constant
dapat''
. Bukankah seharusnya begitu' '
?"Hello"
apa pun, dia seharusnya menggunakan contohJika Anda ingin tepat 40 spasi sebelum string maka Anda harus melakukan:
Jika itu terlalu kotor, Anda dapat melakukannya (tetapi akan lebih lambat daripada mengetik secara manual 40 spasi):
printf("%40s%s", "", myStr );
Jika Anda ingin string berbaris di kolom 40 (yaitu, memiliki hingga 39 spasi yang diproses sedemikian rupa sehingga karakter paling kanan ada di kolom 40) maka lakukan ini:
printf("%40s", myStr);
Anda juga dapat menempatkan "hingga" 40 spasi SETELAH string dengan melakukan:
printf("%-40s", myStr);
sumber