所以我对 C 语言 exec 系列函数相当陌生,想知道为什么 cal 返回
usage: cal [-13smjyV] [[[day] month] year]
当传递给execve(); 以下
pid = fork( ) ;
if ( pid == 0 ) {
char *myArgv[ ] = { "cal", "4", "1980", "NULL"};
char *myEnv[ ] = { "HOME=/usr/bin", NULL} ;
execve( "/usr/bin/cal", myArgv, myEnv) ;
} else {
printf("parent process waiting for execve complete \n" );
}
而当我通过终端手动调用“cal 4 1980”时,我得到了实际的打印输出?
April 1980
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30