Computer >> Máy Tính >  >> Lập trình >> lập trình C

Hàm strftime () trong C / C ++


Hàm strftime () được sử dụng để định dạng ngày và giờ dưới dạng một chuỗi. Nó được khai báo trong tệp tiêu đề “time.h” bằng ngôn ngữ C. Nó trả về tổng số ký tự được sao chép vào chuỗi, nếu chuỗi vừa với các ký tự có kích thước nhỏ hơn, ngược lại, trả về số không.

Đây là cú pháp của strftime () trong ngôn ngữ C,

size_t strftime(char *string, size_t size, const char *format, const struct tm *time_pointer)

Đây,

chuỗi - Con trỏ đến mảng đích.

kích thước - Số ký tự tối đa được sao chép.

định dạng - Một số thông số định dạng đặc biệt để biểu thị thời gian bằng tm.

time_pointer - Con trỏ đến cấu trúc tm có chứa cấu trúc lịch thời gian.

Đây là một ví dụ về strftime () trong ngôn ngữ C,

Ví dụ

#include <stdio.h>
#include <time.h>
int main () {
   time_t tim;
   struct tm *detl;
   char buf[80];
   time( &tim );
   detl = localtime( &tim );
   strftime(buf, 20, "%x - %I:%M%p", detl);
   printf("Date & time after formatting : %s", buf );
   return(0);
}

Đầu ra

Date & time after formatting : 10/23/18 - 10:33AM

Trong chương trình trên, ba biến của nhiều kiểu dữ liệu được khai báo. Hàm localtime () đang lưu trữ ngày và giờ hiện tại. Hàm strftime () đang sao chép chuỗi và định dạng nó trong một số cấu trúc đặc biệt bằng cách sử dụng một số đặc tả đặc biệt.

detl = localtime( &tim );
strftime(buf, 20, "%x - %I:%M%p", detl);