sprintf()
Menulis string terformat ke array karakter dalam C
Fungsi sprintf()
digunakan untuk menulis data terformat ke dalam sebuah array karakter (string). Fungsi ini mirip dengan printf()
, namun hasilnya disimpan ke dalam buffer (array karakter) alih-alih ditampilkan ke layar.
Sintaks
int sprintf(char *str, const char *format, ...);
str
➜ Array karakter (buffer) tempat string hasil format disimpan.format
➜ String format yang menentukan bagaimana data akan diubah menjadi teks....
➜ Argumen tambahan yang akan disisipkan ke dalam string format.Mengembalikan: Jumlah karakter yang ditulis ke
str
(tidak termasuk karakter null'\0'
), atau nilai negatif jika terjadi error.
Penjelasan
Membuat String Terformat:
sprintf()
mengambil format string dan argumen, lalu menyusunnya ke dalam buffer yang ditunjuk olehstr
.Buffer: Pastikan buffer
str
memiliki ukuran yang cukup untuk menampung hasil string terformat, karenasprintf()
tidak melakukan pemeriksaan batas secara otomatis.Output Tidak Langsung: Berbeda dengan
printf()
,sprintf()
tidak menampilkan output ke layar; hasil format disimpan ke dalam variabel string yang bisa digunakan lebih lanjut dalam program.
Contoh Pengunaan
#include <stdio.h>
int main() {
char buffer[100];
int angka = 42;
float desimal = 3.14159;
// Menulis string terformat ke buffer
int jumlahKarakter = sprintf(buffer, "Nilai integer: %d, Nilai float: %.2f", angka, desimal);
// Menampilkan hasil string terformat
printf("Buffer: %s\n", buffer);
printf("Jumlah karakter yang ditulis: %d\n", jumlahKarakter);
return 0;
}
Hasilnya:
Buffer: Nilai integer: 42, Nilai float: 3.14
Jumlah karakter yang ditulis: 36
Last updated