#include <string.h>
#include <stdio.h>
#include <windows.h>
#include <wchar.h>
#include <unistd.h>
#define sleep(x) Sleep(1000 * x)
int checkTime();
int main (int argc, char *argv[]) {
char *getFirstArgument = argv[1];
char *getSecondArgument = argv[2];
char getCheckTime;
checkTime(&getCheckTime);
if(*getFirstArgument != getCheckTime) {
sleep(1);
main(*getFirstArgument);
} else if(*getFirstArgument == getCheckTime && *getSecondArgument == 'r') {
system("shutdown /r");
} else if(*getFirstArgument == getCheckTime) {
system("shutdown /s");
}
return 0;
}
int checkTime() {
char getConvertedTime[5] = {};
SYSTEMTIME localTime;
GetLocalTime (&localTime);
sprintf(getConvertedTime, "%d:%d", localTime.wHour, localTime.wMinute);
printf("%s\n", getConvertedTime);
return 0;
}
嗨!當我回想起主要功能時,我不知道我需要提出什麼論點,而且我真的找不到答案,我知道它存在於某個地方。 :)這裏是錯誤,告訴我MinGW編譯器。調用帶參數的主函數
$ gcc -Wall test.c -o test.exe
test.c: in function 'main':
test.c:20:3: error: to few arguments to function 'main'
test.c:10:5: note: declared here
對不起,我的英語不好!謝謝!
C標準原則上禁止調用'main'的程序。 'main'函數應該被定義,但不會被調用.. –
@Basile:這是C++,而不是C(除非在C11中進行了更改)。 – Mat
正如你所看到的,從原型main接受一個int和一個字符串數組(char *),其中int應該是數組的元素個數 – x539