问S_IFMT和S_IFREG未使用-std=c11或-std=gnu11定义ENstd::move和std::forward只是执行转换的函数(...
switch (sb.st_mode & S_IFMT) { case S_IFBLK: printf("block device\n"); break;case S_IFCHR: printf("character device\n"); break;case S_IFDIR: printf("directory\n"); break;case S_IFIFO: printf("FIFO/pipe\n"); break;case S_IFLNK: printf("symli...
sDir.st_mode 肯定有编码规则,而 S_IFMT 是一个bit MARK(例:0x00E0), 两者相与后,相当于取到S_IFMT相关的那段子编码,然后判断是否与S_IFDIR相等。理解了吗?
ls2.c:91: `S_IFMT' undeclared (first use in this function) ls2.c:91: (Each undeclared identifier is reported only once ls2.c:91: for each function it appears in.) ls2.c:92: `S_IFREG' undeclared (first use in this function) ls2.c:93: `S_IFDIR' undeclared (first use in this f...