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 oleh str.

  • Buffer: Pastikan buffer str memiliki ukuran yang cukup untuk menampung hasil string terformat, karena sprintf() 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