当前位置: 首页 > news >正文

宝安品牌网站制作推广方法

宝安品牌网站制作,推广方法,荆州松滋网站建设,曹妃甸建设局网站定义一个类CheckPath,它由两个public方法组成: 1) checkPath:检查传入的字符串指定的路径是否存在,存在返回true,否则返回false。 2) createFilePath:根据传入的字符串指定的路径&…

定义一个类CheckPath,它由两个public方法组成:

1) checkPath:检查传入的字符串指定的路径是否存在,存在返回true,否则返回false。

2) createFilePath:根据传入的字符串指定的路径,创建由 pathDepth指定的路径,例如:如果传入字符串为/home/user/aa/bb,如果指定的pathDepath为0,则不创建这个路径,如果pathDepath为1,则创建从/开始创建所有路径,如果pathDepath为2,则创建从/home开始创建所有路径。

class CheckPath{
public:bool checkPath(std::string &filePath);bool createFilePath(const char * path, int pathDepth);
};

checkpath.cpp源文件: 

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <iostream>
#include <sstream>
#include <fstream>#define MAX_FILENAME_LEN        256class CheckPath{
public:bool checkPath(std::string &filePath);bool createFilePath(const char * path, int pathDepth);
};/* 测试指定目录是否存在 */
bool CheckPath::checkPath(std::string &filePath)
{char lastChar;struct stat buff;int istat;int isDir = 0;bool pathExists = false;int len = filePath.size();if (len == 0) return false;lastChar = filePath[len - 1];if (lastChar == '/'){filePath.resize(len - 1);}istat = stat(filePath.c_str(), &buff);if (!istat) isDir = (S_IFDIR & buff.st_mode);if (!istat && isDir){pathExists = true;}filePath.append("/");return pathExists;
}/* 安pathDepath指定深度开始创建指定的目录 */
bool CheckPath::createFilePath(const char * path, int pathDepth)
{bool    result = true;char    * parts[MAX_FILENAME_LEN];int     num_parts;char    directory[MAX_FILENAME_LEN];char    nextDir[MAX_FILENAME_LEN];char    * saveptr;int     i = 0;/* donot create path */if (pathDepth == 0) return result;while ((path[i] == '/') && i < MAX_FILENAME_LEN){nextDir[i] = path[i];i++;}nextDir[i] = 0;printf("nextDir: %s\n", nextDir);strcpy(directory, &path[i]);printf("Directory: %s\n", directory);num_parts = 0;parts[num_parts] = strtok_r(directory, "\\/", &saveptr);while (parts[num_parts] != NULL){parts[++num_parts] = strtok_r(NULL, "\\/", &saveptr);}//        for (i = 0; i < num_parts; i++){
//                printf("%d: %s\n", i+1, parts[i]);//}if (pathDepth < 0){pathDepth = num_parts + pathDepth;if (pathDepth < 1) pathDepth = 1;}for (i = 0; i < num_parts && result != false; i++){strcat(nextDir, parts[i]);if (i >= pathDepth){//                printf("depath = %d,create path %s\n",i, nextDir);if (mkdir(nextDir, 0777) != 0 && errno != EEXIST){result = false;}}strcat(nextDir, "/");}return result;
}/* 测试主程序 */
int main(int argc, char ** argv)
{if (argc != 2){fprintf(stderr, "Usage: %s pathname\n", argv[0]);return -1;}std::string filePath = argv[1];std::cout << "Check File Path : " << filePath << " exists?" << std::endl;;CheckPath * pcp = new CheckPath();/* Test file path exists or not */std::cout << "*****************************************"<<std::endl;std::cout << "Test Function 1 checkPath:" << std::endl;if (pcp->checkPath(filePath)){std::cout << "FilePath:" << filePath <<" does exist" << std::endl;}else{std::cout << "FilePath:" << filePath << " does not exist" << std::endl;}std::cout << "*****************************************"<<std::endl<<std::endl;;std::cout << "*****************************************"<<std::endl;std::cout << "Test Function 2 createFilePath:" << std::endl;std::cout << "Please enter a path to create:";std::cin >> filePath;std::cout << "The path to create :" << filePath << std::endl;int depth;std::cout << "Please enter the create depth:";std::cin >> depth;printf("Depth: %d\n", depth);if (pcp->createFilePath(filePath.c_str(), depth)){std::cout << "Create the "  << depth << " depth of file path " << filePath << std::endl;}else{std::cout << "can not create file path " << filePath << std::endl;}std::cout << "*****************************************"<<std::endl;delete pcp;return 0;
}

编译以上代码,观察结果:

orangepi@orangepi5:~/C_program$ ./checkpath aa
Check File Path : aa exists?
*****************************************
Test Function 1 checkPath:
FilePath:aa/ does exist
**********************************************************************************
Test Function 2 createFilePath:
Please enter a path to create:/home/orangepi/C_program/aa/bb
The path to create :/home/orangepi/C_program/aa/bb
Please enter the create depth:3
Depth: 3
nextDir: /
Directory: home/orangepi/C_program/aa/bb
Create the 3 depth of file path /home/orangepi/C_program/aa/bb
*****************************************
orangepi@orangepi5:~/C_program$ ls aa/
bb

检查当前目录下aa目录时存在的,并且在aa目录下创建了一个bb目录。

http://www.dt0577.cn/news/6023.html

相关文章:

  • 焦作网站开发个人怎么做网站
  • 网站建设的通知品牌营销推广方案
  • 玉树州公司网站建设东莞关键词排名推广
  • 网站优化的作业及意义少儿编程
  • 小程序搭建多少钱一个济南seo公司报价
  • 用手机域名做网站外包网络推广公司推广网站
  • centos做网站服务器吗电子商务seo名词解释
  • 别墅设计公司排名前十强seo关键词优化报价
  • 大连开发网站建设网站流量分析
  • b2b2c网站建设方案网站快速优化排名
  • 什么网站可以做视频剪辑的兼职网站开发外包
  • 免费网站下载app软件宁波网站关键词排名推广
  • 固原住房和城乡建设厅网站衡水网站优化推广
  • 做商城网站带宽廊坊百度快照优化哪家服务好
  • 建设银行 网站无法打开百度一下百度网页版
  • 做时时彩网站费用学it什么培训机构好
  • 电商网站报价网站seo优化有哪些方面
  • 京东网站建设有哪些优点一份完整的营销策划书
  • php如何做音乐网站微信视频号可以推广吗
  • 公司主网站百度收录大量赌博之类的信息全媒体运营师报名入口
  • 做网站公司哪家百度搜索榜
  • 网站关键词分析工具泉州百度竞价推广
  • 德州做网站建设的公司哪家好百度上首页
  • 做淘客网站企业备案windows优化大师最新版本
  • 徐州网站排名系统seo基础入门免费教程
  • 能做SEO优化的网站建设网站内容如何优化
  • 网站建设怎么分析市场网络推广引流是做什么工作
  • 宣城市住房和城乡建设局网站视频号的网站链接
  • 成都公园城市建设局网站seo是哪个英文的简写
  • 艺术网页设计欣赏云南seo公司