• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            積木

            No sub title

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              140 Posts :: 1 Stories :: 11 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(1)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            文章轉自:http://blogger.org.cn/blog/more.asp?name=hongrui&id=28011
            windows平臺下使用vc或gcc
            函數名: access
            功  能: 確定文件的訪問權限
            用  法: 
            int access(const char *filename, int amode); 文件的話還可以檢測讀寫權限,文件夾的話則只能判斷是否存在
            #include 
            "stdafx.h"
            #include  
            <io.h>
            #include  
            <stdio.h>
            #include  
            <stdlib.h>

            void main( void )
            {
               
            /* Check for exist */
               
            if( (_access( "C:\\windows"0 )) != -1 )
               {
                  printf( 
            "windows exists " );
                 
                  
               }
            }
            其實判斷文件存在fopen就行了。
            linux下或者gcc下
            #include 
            <stdio.h>
            #include 
            <stdlib.h>

            #include 
            <dirent.h>
            #include 
            <unistd.h>
            void main( void )
            {
             DIR 
            *dir = NULL;
                 
            /* Open the given directory, if you can. */  
                dir 
            = opendir( "C:\\windows" );
                 
            if( dir != NULL ) {
                     printf( 
            "Error opening " );
                     
            return ;
                 }
            }
            opendir() 返回的 DIR 指針與 fopen() 返回的 FILE 指針類似,它是一個用于跟蹤目錄流的操作系統特定的對象。
            使用c
            ++標準庫
            #include 
            "stdafx.h"
            #include 
            <iostream>
            #include 
            <fstream>
            using namespace std;
            #define FILENAME  "C:\\windows"
            int main()
            {
                 fstream file;
                 file.open(FILENAME,ios::
            in);
                 
            if(!file)
                 {
                     cout
            <<FILENAME<<"存在";
                  }
                  
            else
                  {
                      cout
            <<FILENAME<<"不存在";
                  }
                  
            return 0;
            }
            gcc編譯去掉#include 
            "stdafx.h"即可
            使用Windows API PathFileExists

            #include 
            "stdafx.h"
            #include 
            <iostream>
            #include 
            <windows.h>
            #include 
            <shlwapi.h>
            #pragma   comment(lib,
            "shlwapi.lib"
            using namespace std;
            #define FILENAME  "C:\\windows"
            int main()
            {
                  
            if (::PathFileExists(FILENAME))
                   cout
            <<"exist";
                
            return 0;
            }

            注意windows.h 一定要在shlwapi.h前面定義
            使用boost的filesystem類庫的exists函數:

            #include 
            <boost/filesystem/operations.hpp>
            #include 
            <boost/filesystem/path.hpp>
            #include 
            <boost/filesystem/convenience.hpp>

            int GetFilePath(std::string &strFilePath)
            {
                
            string strPath;
                
            int nRes = 0;

                
            //指定路徑

                strPath 
            = "D:\myTest\Test1\Test2";
                
            namespace fs = boost::filesystem;

                
            //路徑的可移植

                fs::path full_path( fs::initial_path() );
                full_path 
            = fs::system_complete( fs::path(strPath, fs::native ) );
                
            //判斷各級子目錄是否存在,不存在則需要創建

                
            if ( !fs::exists( full_path ) )
                {
                    
            // 創建多層子目錄

                    
            bool bRet = fs::create_directories(full_path);
                    
            if (false == bRet)
                    {
                        
            return -1;
                    }

                }
                strFilePath 
            = full_path.native_directory_string();

                
            return 0;
            }


            posted on 2014-03-23 21:27 Jacc.Kim 閱讀(3512) 評論(0)  編輯 收藏 引用
            91精品国产综合久久香蕉| 99国产精品久久| 伊人久久大香线蕉亚洲| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 久久99国产精一区二区三区| 色综合久久中文色婷婷| 人妻无码久久精品| 久久ZYZ资源站无码中文动漫| 亚洲一本综合久久| 国产69精品久久久久久人妻精品 | 精品国产青草久久久久福利 | 久久精品日日躁夜夜躁欧美| 久久精品国产精品亚洲精品| 一本一本久久a久久综合精品蜜桃| 国产综合免费精品久久久| 久久久老熟女一区二区三区| 伊人久久大香线蕉综合热线| 亚洲国产成人久久精品动漫| 亚洲狠狠婷婷综合久久久久| 青青草原综合久久大伊人导航| 国产成人精品免费久久久久| 囯产极品美女高潮无套久久久| 久久久久久国产a免费观看不卡| 久久99精品国产自在现线小黄鸭| 久久这里只有精品首页| 亚洲综合久久久| 久久青青国产| 日本加勒比久久精品| 精品久久综合1区2区3区激情 | 久久综合亚洲鲁鲁五月天| 久久精品人妻一区二区三区| 国产精品亚洲综合专区片高清久久久 | 久久青青草视频| 要久久爱在线免费观看| 污污内射久久一区二区欧美日韩| 久久精品国产99久久久香蕉| 国产精品亚洲综合专区片高清久久久| 91精品国产色综久久| 无码人妻久久一区二区三区蜜桃 | 国产99久久久国产精品~~牛| 久久精品国产91久久麻豆自制|