我找到了一个代码,我想使用它。当我通过./code 20181010 0810从终端运行它时,它运行得很好。 我试图将此代码重写为函数。主要代码由
声明int main (int argc, char *inp[]) { //some calculations }
所以,我把它改成了:
int calc(int argc, char *inp[]) { //some calculations }
以及带有附加计算的写主代码:
int calc(int argc, char *inp[]);
int main(int argc, char *inp[]) {
char* c_date;
char* c_hour;
time_t timer;
char buffer1[26], buffer2[26];
struct tm* tm_info;
time(&timer);
tm_info = localtime(&timer);
strftime(buffer1, 26, "%Y%m%d", tm_info);
c_date = buffer1;
strftime(buffer2, 26, "%H%M", tm_info);
puts(buffer2);
c_hour = buffer2;
calc(&c_date, &c_hour);
return 0;
}
例如,现在20180212 1045它给了我201802112355,什么时候应该给我201802121050。
有什么不对?
答案 0 :(得分:1)
目前您刚刚复制了main
原型。 calc
的函数体有什么作用?如果您有main
函数的精确副本,那么......
int calc(int argc, char *inp[]);
argc
是从命令行传递到程序中的参数数量,inp
是参数数组。
您正在&c_date
传递argc
但这真的取决于calc
函数......