cuốn sách gpt4 ai đã làm

C: gettimeofday() tạo ra cùng một giá trị mỗi lần chạy

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 01:12:49 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi đang cố gắng in thời gian ở ISO-8601 với độ chính xác bằng một phần mười giây. YYYY-MM-DDThh:mm:ss.s

Đây là mã của tôi:

#include 
#include
#include
#include
#include

void milli_time(char* dest, struct timeval* t)
{
struct tm* timeInfo;
strftime(dest, 22, "%Y-%m-%dT%t", localtime(&t->tv_sec));
printf("%s\n", dest);
fflush(stdout);
char deciTime[3];
sprintf(deciTime, ".%lu", ((t->tv_usec)/100000ul));

strcat(đích, deciTime);
}

int main()
{
cấu trúc thời gian* theTime;
char timeString[32];
gettimeofday(theTime, NULL);
printf("%lu.%lu\n", theTime->tv_sec, theTime->tv_usec);
milli_time(timeString, theTime);
printf("%s\n", timeString);
fflush(stdout);
}

Đầu ra mỗi khi tôi chạy nó là:

134520616.3077826840
1974-04-06T17:50:16
1974-04-06T17:50:16.30778

Một điều nữa tôi nhận thấy là tv_usec lớn hơn một triệu.

câu trả lời hay nhất

Sẽ cấu trúc thời gian* theTime Thay đổi thành cấu trúc thời gian theTime Và cập nhật tham chiếu tương ứng với nó:

gettimeofday(&theTime, NULL);
// etc

Bằng cách này, bạn phân bổ không gian cho cấu trúc chứ không chỉ là một con trỏ tới cấu trúc. Tôi gặp lỗi phân đoạn khi cố chạy mã của bạn trên máy của mình.

Về C: gettimeofday() tạo ra cùng một giá trị mỗi lần chạy, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/8199979/

hai mươi bốn 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress