关于linux下c的疑惑
voiddo_ls(char[],int);voiddostat(char[]);voidshow_file_info(char*,structstat*);voidmo...
void do_ls(char [],int);
void dostat(char []);
void show_file_info(char* ,struct stat*);
void mode_to_letters(int ,char []);
char* uid_to_name(uid_t);
char* gid_to_name(gid_t);
void show_file_info(char* filename,struct stat* info_p)
{
char* uid_to_name(),*ctime(),*gid_to_name(),*filemode(); //这样写是什么意思?
void mode_to_letters();
char modestr[11];
mode_to_letters(info_p->st_mode,modestr);
printf("%s",modestr);
printf("%4d",(int)info_p->st_nlink);
printf("%-8s",uid_to_name(info_p->st_uid));
printf("%-8s",gid_to_name(info_p->st_gid));
printf("%8ld",(long)info_p->st_size);
printf("%.12s",4+ctime(&info_p->st_mtime));
printf("%s\n",filename);
}
其中的头文件和main函数我的就不给出了,我只是想知道
char* uid_to_name(),*ctime(),*gid_to_name(),*filemode();
这一个语句是什么意思,看着既不想是声明,也不想是调用,而且其中filemode()函数也没有定义,但是在编译的时候能通过,而且还生成了可执行程序,运行还很正常
请高手指点! 展开
void dostat(char []);
void show_file_info(char* ,struct stat*);
void mode_to_letters(int ,char []);
char* uid_to_name(uid_t);
char* gid_to_name(gid_t);
void show_file_info(char* filename,struct stat* info_p)
{
char* uid_to_name(),*ctime(),*gid_to_name(),*filemode(); //这样写是什么意思?
void mode_to_letters();
char modestr[11];
mode_to_letters(info_p->st_mode,modestr);
printf("%s",modestr);
printf("%4d",(int)info_p->st_nlink);
printf("%-8s",uid_to_name(info_p->st_uid));
printf("%-8s",gid_to_name(info_p->st_gid));
printf("%8ld",(long)info_p->st_size);
printf("%.12s",4+ctime(&info_p->st_mtime));
printf("%s\n",filename);
}
其中的头文件和main函数我的就不给出了,我只是想知道
char* uid_to_name(),*ctime(),*gid_to_name(),*filemode();
这一个语句是什么意思,看着既不想是声明,也不想是调用,而且其中filemode()函数也没有定义,但是在编译的时候能通过,而且还生成了可执行程序,运行还很正常
请高手指点! 展开
展开全部
看上的意思你就明白了,uid_to_name,比如,root是name,它的id是0;反过来,如果一个id是0问他的name,就用上面的函数;返回root;filemode 主要看mode,也是文件的读写执行如,0777这就是一个mode值,
char* uid_to_name(),*ctime(),*gid_to_name(),*filemode(); 声明函数
char* uid_to_name(),*ctime(),*gid_to_name(),*filemode(); 声明函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询