Hàm sprintf()

int sprintf(char *buffer, const char *format [,argument] ...);

buff: vùng nhớ lưu trữ chuỗi output.

argument: biến tùy chọn

%d hoặc %i : in ra số nguyên

%u : in ra số nguyên không dấu

%o : in ra số hệ 8 (octal)

%x hoặc %X : in ra số hê 16 (hexa)

%f : in ra số dấu phẩy động

%c : in ra kí tự

%s : in ra string

%e hoặc %E: in dạng M*e^x

Một số kí tự đặc biệt:

‘/n’ : kí tự xuống dòng

‘/t’ : kí tự cách ra 1 tab (4 space)

‘/r’ : kí tự trở về đầu dòng in

‘/b’: kí tự lùi con trỏ màn hình về sau 1 kí tự

  • Hàm sprintf() được dùng để tạo ra chuỗi từ các kiểu dữ liệu nguyên thủy khác nhau (char*, int, float,…)
  • Hàm sprintf() trả về số lượng kí tự được ghi ra chuỗi buff.

Ví dụ:

#include <stdio.h>
#include <conio.h>


void main()
{
    char  buffer[200], s[] = "computer", c = 'l';
    int   i = 35, j;
    float fp = 1.7320534f;

    // Format and print various data: 
    j  = sprintf( buffer,     "   String:    %s\n", s ); 
    j += sprintf( buffer + j, "   Character: %c\n", c );
    j += sprintf( buffer + j, "   Integer:   %d\n", i );
    j += sprintf( buffer + j, "   Real:      %f\n", fp );
    // Note: sprintf is deprecated; consider using sprintf_s instead

    printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );

    getch();
}

Kết quả:

Hàm sprintf
Hàm sprintf

Be the first to comment

Leave a Reply

Your email address will not be published.

*