在 Linux 系統中,stime()
函數用于設置系統的實時時間
stime()
函數的返回值為 -1 表示出現錯誤,返回 0 表示成功。因此,首先要檢查 stime()
函數的返回值,以確定是否發生了錯誤。#include <time.h>
#include<stdio.h>
int main() {
time_t new_time = 1633029845; // 新的時間戳,單位為秒
if (stime(&new_time) == -1) {
perror("stime");
return 1;
}
printf("System time has been set successfully.\n");
return 0;
}
perror()
或 strerror()
打印錯誤信息:當 stime()
函數返回錯誤時,可以使用 perror()
或 strerror()
函數來獲取具體的錯誤原因。perror()
會將錯誤信息輸出到標準錯誤流(stderr),而 strerror()
則返回一個包含錯誤信息的字符串。使用 perror()
的示例:
#include <time.h>
#include<stdio.h>
#include <errno.h>
int main() {
time_t new_time = 1633029845; // 新的時間戳,單位為秒
if (stime(&new_time) == -1) {
perror("stime");
return 1;
}
printf("System time has been set successfully.\n");
return 0;
}
使用 strerror()
的示例:
#include <time.h>
#include<stdio.h>
#include<string.h>
#include <errno.h>
int main() {
time_t new_time = 1633029845; // 新的時間戳,單位為秒
if (stime(&new_time) == -1) {
fprintf(stderr, "stime: %s\n", strerror(errno));
return 1;
}
printf("System time has been set successfully.\n");
return 0;
}
注意:stime()
函數通常需要 root 權限才能運行,因此在運行上述示例代碼時,請確保具有相應的權限。