C++ stat判断路径是文件还是目录

 1 #include <iostream>
 2 #include <sys/stat.h>
 3
 4 using namespace std;
 5
 6 void foo ( const char* path ) {
 7     struct stat s;
 8     if ( stat ( path, &s ) == 0 ) {
 9         if ( s.st_mode & S_IFDIR ) {
10             cout << "DIR" << endl;
11         } else if ( s.st_mode & S_IFREG ) {
12             cout << "FILE" << endl;
13         } else {
14             cout << "?" << endl;
15         }
16     } else {
17         cout << "ERR" << endl;
18     }
19 }
20
21 int main() {
22     foo ( "C:\\Windows" );
23     foo ( "C:\\Windows\\explorer.exe" );
24     foo ( "W:\\WWW" );
25     return 0;
26 }

原文地址:https://www.cnblogs.com/rms365/p/10961594.html

时间: 2024-11-03 13:35:18

C++ stat判断路径是文件还是目录的相关文章

C/C++中判断某一文件或目录是否存在

1 //1.C++很简单的一种办法: 2 #include <iostream> 3 #include <fstream> 4 using namespace std; 5 #define FILENAME "stat.dat" 6 int main() 7 { 8 fstream _file; 9 _file.open(FILENAME,ios::in); 10 if(!_file) 11 { 12 cout<<FILENAME<<&q

iOS6.1 &amp; iOS 7 &amp; iOS8 判断沙盒文件或者目录是否存在,以及判断是文件还是目录的一个隐藏问题

- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory 通常,iOS系统中判断文件或者目录是否存在,可以用上面这个API. 第二个参数 isDirectory是个传出参数, 用于返回,是文件还是目录. 一般两种情况会使用这个API 需求一. 判断文件或者目录是否存在 需求二. 判断path是文件还是目录 需求一.只要判断这个API的返回值,YES为存在,NO为不存在即可,isDirectory不需要判断

判断沙盒文件或者目录是否存在,以及判断是文件还是目录的一个隐藏问题

- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory 通常,iOS系统中判断文件或者目录是否存在,可以用上面这个API. 第二个参数 isDirectory是个传出参数, 用于返回,是文件还是目录. 一般两种情况会使用这个API 需求一. 判断文件或者目录是否存在 需求二. 判断path是文件还是目录 需求一.只要判断这个API的返回值,YES为存在,NO为不存在即可,isDirectory不需要判断

C# 判断路径和文件存在

1.判断路径是否存在,不存在则创建路径: 1 if (!System.IO.Directory.Exists(@"D:\Export")) 2 { 3 System.IO.Directory.CreateDirectory(@"D:\Export");//不存在就创建目录 4 } 2.判断文件是否存在: 1 if(File.Exists(@"文件路径")) 2 { 3 //存在 4 } 5 else 6 { 7 //不存在 8 } 需using

java判断路径是文件夹还是文件

当给定一个路径没有后缀的时候,很难分辨代码是文件还是文件夹,如下图: 我在桌面建立了一个名为one的文件,路径为:/Users/XXXXXX/Desktop/one java代码如下: import java.io.File; public class Flie_or_Folder { public static void main(String s[]){ String path ="/Users/XXXXX/Desktop/one"; File file = new File(pa

python之OS模块(对文件or目录操作)

OS模块 os,语义为操作系统,包含普遍的操作系统功能,与具体的平台无关.python编程时,处理文件和目录这些操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小-- os模块不受平台限制,也就是说:当我们要在linux中显示当前命令时就要用到pwd命令,而Windows中cmd命令行下就要用到这个,例如:这时候我们使用python中os模块的os.path.abspath(name)功能,甭管是linux或者Windows都可以获取当前的绝对路径. 常见函数列表 os.name

攻城狮在路上(叁)Linux(十五)--- 文件与目录的默认权限与隐藏权限

一.文件默认权限:umask <==需要被减去的权限. 1.umask指的是当前用户在新建文件或者目录时的默认权限,如0022; 2.默认情况下,用户创建文件的最大权限为666; 创建目录的最大权限为777. 3.最终权限 = 最大权限 - umask; <== 此处注意并非是数值直接相减. 4.设置umask: umask 002; 5.由上述条件,自己判断用户新建文件或目录的最终权限. 二.文件的隐藏属性: chattr.lsattr , 隐藏属性对于系统安全有很大的帮助. chattr

Python os模块--路径、文件、系统命令等操作

os模块包含普遍的操作系统功能. 注意:函数参数path是文件或目录的路径,filename是文件的路径,dirname是目录的路径,路径可以是相对路径,也可绝对路径 常见或重要的函数为加粗字体 os模块: os.name   返回当前操作系统名称('posix', 'nt', 'os2', 'mac', 'ce', 'riscos'),windows为'nt',linux为'posix' os.sep == os.path.sep 返回路径各部分之间的分隔符,linux是'/',windows

C# 对包含文件或目录路径信息的 System.String 实例执行操作

C# 对包含文件或目录路径信息的 System.String 实例执行操作 在字符串操作中有一类比较特殊的操作,就是对包含文件或目录路径信息的 System.String 实例执行操作.比如根据一个表示路径的字符串获取其代表的文件名称.文件夹路径.文件扩展名等.在很多时候,我们喜欢用substring加indexof来进行字符串的修改.代码如下: string filePath = @"C:\test\test2\test3.txt"; //通过substring加indexof方式获