zoukankan      html  css  js  c++  java
  • C++ 文件系统操作 File System Operation

    Create Directory

    Using Windows api, include <windows.h>

        if (0 == ::CreateDirectoryA(_root.c_str(), nullptr))
        {
            DWORD errcode = ::GetLastError();
            if (errcode == ERROR_ALREADY_EXISTS)
            {
                return 0;
            }
            throw ISATGrabberException(CUtility::GetSysErrInfomation(errcode), errcode, __FILE__, __FUNCTION__, __LINE__);
        }

    Using C api in windows, include <direct.h>

        int ret = _mkdir(_root.c_str());
        if (ret != 0 && errno == ENOENT)
        {
            printf("%s, %d", strerror(errno), errno);
            return ret;
        }

    Check Direcotry exist

    Using Windows api

    Using C api in windows, include <sys/stat.h> and <sys/types.h>

            struct _stat buf;
            int ret = _stat(_root.c_str(), &buf); 
    
            CPPUNIT_ASSERT(0 == ret);
            CPPUNIT_ASSERT((buf.st_mode & _S_IFDIR) > 0);

    Using boost library

    ASSERT(boost::filesystem::status(_root).type() == boost::filesystem::directory_file);

    Remove Directory

    Using Windows API

    Using C api in windows, include <direct.h>

    _rmdir(dir.c_str());

    Using boost library

  • 相关阅读:
    [CF1284E]New Year and Castle Construction
    [BZOJ2178]圆的面积并(格林公式)
    [CF1146H]Satanic Panic(dp)
    [CF1019D]Large Triangle
    [ICPC World Finals 2018][LOJ6409]熊猫保护区(voronoi图)
    [CF gym 101471A][LOJ6470]Airport Construction
    [BZOJ2809]dispatching(左偏树)
    [HDU5784]How Many Triangles
    [CF372E]Drawing circles is fun(反演)
    [NOI2005][BZOJ1502][洛谷P4207]月下柠檬树(自适应Simpson积分)
  • 原文地址:https://www.cnblogs.com/rogerroddick/p/3088313.html
Copyright © 2011-2022 走看看