美文网首页
实现跨平台的路径管理

实现跨平台的路径管理

作者: 863cda997e42 | 来源:发表于2019-03-22 10:22 被阅读0次

实现了跨平台的路径管理
mpath.h文件

#ifndef MPATH_H
#define MPATH_H

#ifdef WINDOWS
#define PATH_SPLIT '\\'
#endif

#ifdef UNIX
#define PATH_SPLIT '/'
#endif

#define ALL_SPLITS "\\/$"

#define MAX_PATH_LEN 500
    
///转换路径
///@param   target  目标
///@param   source  源
void convertPath(char *target, const char *source);
    
///替换标准的fopen函数
FILE *mfopen(const char *filename, const char *mode);

#endif

mapth.cpp文件

void convertPath(char *target, const char *source)
{
    const char *s;
    char *t;// 200
    for (s=source, t=target; ((s-source)<MAX_PATH_LEN) && (*s!='\0'); s++, t++)
    {
        if (strchr(ALL_SPLITS,*s)!=NULL)
        {
            *t=PATH_SPLIT;
        }
        else
        {
            *t=*s;
        }
    }
    *t='\0';
}
    
FILE *mfopen(const char *filename, const char *mode)
{
    char actualName[MAX_PATH_LEN+1];
    convertPath(actualName,filename);
    return fopen(actualName,mode);
}

相关文章

  • 实现跨平台的路径管理

    实现了跨平台的路径管理mpath.h文件 mapth.cpp文件

  • 【死磕JVM】JVM快速入门之前戏篇

    简介 Java是一门可以跨平台的语言,但是Java本身是不可以实现跨平台的,需要JVM实现跨平台。javac编译好...

  • 超干货!一篇文章带你快速入门JVM,还看不懂吗?

    简介 Java是一门可以跨平台的语言,但是Java本身是不可以实现跨平台的,需要JVM实现跨平台。javac编译好...

  • 浅谈java基础之JVM

    1.java实现跨平台的原理。 java实现跨平台的原理是基于JVM实现的,即Java Virtual Machi...

  • File类

    路径常量 静态的,设置路径常量的目的是为了方便跨平台。 Path-separator 即路径分隔符 File.pa...

  • iOS多线程总结

    类型简介实现语言线程生命周期pthreadposix接口,适合跨平台开发,使用难度较大c手动管理NSThread面...

  • python Windows和Linux路径表示问题

    Windows下路径是用‘\’表示也可以使用'/',但是Linux下路径都是‘/’表示。 因为python是跨平台...

  • 使用Exchange协议登录微软的'邮件'

    背景 为了实现跨平台的日程管理,这里以QQ邮箱为例。 实现日历的双向全量同步。 通过日历规划日程,能够在时间到达时...

  • 网络文件共享

    1 存储方式 2 文件共享服务 应用层 ftp 可以实现跨平台内核级 nfs 不能实现跨平台window linu...

  • Qt全局热键实现

    Qt 中没有实现好的跨平台全局热键,需要自己调用系统 API 来实现。 监听系统原生事件 Qt 作为跨平台的框架,...

网友评论

      本文标题:实现跨平台的路径管理

      本文链接:https://www.haomeiwen.com/subject/pvflvqtx.html