Viêt một chương trình C đơn giản, in thời gian hiện tại ra màn hình console

Mọi người ơi giúp em với ạ

#include <windows.h>
#include <stdio.h>

void main()
{
    SYSTEMTIME st, lt;
    while(true){
    GetSystemTime(&st);
    GetLocalTime(&lt);
    
    printf("The system time is: %02d:%02d\n", st.wHour, st.wMinute);
    printf(" The local time is: %02d:%02d\n", lt.wHour, lt.wMinute);
    Sleep(33);
    }
}

Tham khảo ở đây nhé :
GetSystemTime function (sysinfoapi.h) - Win32 apps | Microsoft Learn

1 Like

Vậy cậu có hiểu gì về thư viện time.h không @dong_nguyen_trong? :smile:

Bài này vốn không khó đâu, cậu nên thử tự tìm hiểu trước khi hỏi. Nếu cậu gặp vấn đề gì khi tìm hiểu, quay lại đây với câu hỏi rõ ràng nha :smile:
Bọn tớ không thể, và cũng không có lý do gì đi làm bài tập về nhà hộ cậu cả. Bọn tớ chỉ giúp cậu nếu cậu có vấn đề cụ thể khi cậu làm bài tập. Vậy nên, tớ sẽ đóng topic này lại sau 1 ngày nhé!

Nếu bạn nào có nhã ý giúp bạn @dong_nguyen_trong, vui lòng reply trong thời gian này.

1 Like


Dạ em đã tìm hiểu và giải quyết được vấn đề nhưng em mắc phải lỗi này ạ. Em chạy trên onlinegdb thì in ra được thời gian còn chạy trên visual studio thì bị vậy ạ

Cảm ơn cậu nhé! Tớ đã thấy sự cải thiện từ cậu.
Cậu có thể paste code của cậu lên đây dưới dạng text, cùng với thông điệp lỗi dưới dạng text được không?
Vì AI đọc text dễ hơn đọc ảnh :smile:

2 Likes
#include <stdio.h>
#include <time.h>

int main() {
    time_t current_time;
    struct tm* local_time;


    // Lấy thời gian hệ thống hiện tại
    current_time = time(NULL);

    // Chuyển đổi thời gian về định dạng cục bộ
    local_time = localtime_s(&current_time);

    // In ra thời gian hiện tại
    printf("Current time is: %02d:%02d:%02d\n", local_time->tm_hour, local_time->tm_min, local_time->tm_sec);

    return 0;
}

Lỗi:

localtime_s’: function does not take 1 arguments

Dạ đây ạ

Bạn tìm được hàm này ở đâu? Bạn đọc hiểu câu thông báo được không

2 Likes

Theo như làm localtime_s spec

Sinature: struct tm *localtime_s( const time_t *restrict timer, struct tm *restrict buf ); (3) (since C11)

Với hướng dẫn sử dụng:

  1. Same as (1), except that the function uses user-provided storage buf for the result and that the following errors are detected at runtime and call the currently installed constraint handler function:
  • timer or buf is a null pointer

Hàm này nhận 2 tham số đầu vào chứ không phải 1 như hàm localtime.
Thế nên, thay vì:

local_time = localtime_s(&current_time);

Cậu nên sửa thành:

// localtime sẽ chứa kết quả của cậu
localtime_s(&current_time, &local_time);
// hoặc dùng localtime()
local_time = localtime(&current_time);

Thử xem nhé, vì tớ chưa test gì đâu.

2 Likes

Dạ em sửa được lỗi rồi ạ em cảm ơn mọi người nhiều ạ

1 Like

mình thấy bạn học giống như là chưa hiểu cái gì hết, mà đã làm. Hoặc là chưa học gì đã vào làm.

2 Likes

This topic was automatically closed after 190 days. New replies are no longer allowed.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?