请问LINUX命令行参数怎么使用啊! 谢谢大家了!
下面的代码可以显示 "命令行中指定的任何文件的标识位 "
我编译已经成功了,但是怎么用呢??哭...
编译: gcc -Wall -o tryC try.c
运行???怎么在命令行中加入待检测的文件名?
//try.c
#include <errno.h>
#include <fcntl.h>
#include <linux/ext3_fs.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <unistd.h>
int main(int argc, char* argv[])
{
const char **filename = argv + 1;
int fd;
int flags;
while(*filename)
{
fd = open(*filename, O_RDONLY);
if(fd < 0)
{
fprintf(stderr, "cannot open %s: %s\n ", *filename, strerror(errno));
return 1;
}
if(ioctl(fd, EXT3_IOC_GETFLAGS, &flags))
{
fprintf(stderr, "ioctl failed on %s: %s\n ", *filename, strerror(errno));
return 1;
}
printf( "%s ", *filename++);
if(flags & EXT3_APPEND_FL) printf( "Append ");
if(flags & EXT3_IMMUTABLE_FL) printf( "Immutable ");
if(flags & EXT3_NODUMP_FL) printf( "Nodump ");
printf( "\n ");
close(fd);
}
return 0;
}
------解决方案--------------------#./tryC filename1 filename2 filename3
我运行了一下,可惜我的是EXT2文件系统 呵呵
------解决方案--------------------const char *filename = argv[1];