[dywang@deyu zzz]$ vim mainfun5.c
[dywang@deyu zzz]$ cat mainfun5.c
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main( int argc, char *argv[] ) {
int result;
if(argc < 3) {
printf("Require TWO arguments\n" );
return(1);
}
result = rename( argv[1], argv[2] );
if( result != 0 ) {
perror("");
return(errno);
}
printf("%d: %s renamed to %s\n", errno, argv[1], argv[2]);
return(errno);
}
[dywang@deyu zzz]$ gcc -o mainfun5 mainfun5.c
[dywang@deyu zzz]$ ./mainfun5 a b No such file or directory [dywang@deyu zzz]$ echo $? 2
[dywang@deyu zzz]$ touch a [dywang@deyu zzz]$ ./mainfun5 a b 0: a renamed to b [dywang@deyu zzz]$ echo $? 0
[dywang@deyu zzz]$ ./mainfun5 b /root/a Permission denied [dywang@deyu zzz]$ echo $? 13
[dywang@deyu zzz]$ ./mainfun5 /sbin/blkid a Invalid cross-device link [dywang@deyu zzz]$ echo $? 18