zoukankan      html  css  js  c++  java
  • 在生成的Debug中test.exe的同级目录下创建一个文件,如TestLog.log

    在上次编写一个日志类库时,想在.exe的同级目录下创建.log文件,对于这个路径的获得很简单,调用GetModuleFileName()函数即可。但是要去掉.exe而换成.log时,由于对字符串处理不太顺手,试了好几种方法,包括转成CString,获取父目录GetParentDirectory(),都没有成功,最后只好循环截取字符串来解决。虽然是一个比较笨的办法,好歹解决了问题,所以保存一下,以后有类似的问题直接调函数,节省时间。

    VOID Sub_1()
    {
    setlocale(LC_ALL, "Chinese-simplified");    //测试时输出中文

    WCHAR Path[MAX_PATH];
    memset(Path, 0, MAX_PATH*sizeof(WCHAR));
    GetModuleFileName(NULL, Path, MAX_PATH); // C:\\代码\\test\\Debug\\test.exe


    WCHAR *FileName = Path + wcslen(Path) - 1;
    while (*FileName != '\\')                 //循环,碰到\为止
    {
    --FileName;
    }
    *FileName = '\0';    // C:\\代码\\test\\Debug
    WCHAR FileNamePath[MAX_PATH] = { '\0' };
    swprintf(FileNamePath, L"%s\\%s", Path, L"TestLog.log"); // C:\\代码\\test\\Debug\\TestLog.log

    wprintf(L"%ls\r\n", FileNamePath);
    //在后面可以实现自己的目的,比如CreateFile等等

    }

  • 相关阅读:
    Swift如何判断上午还是下午
    Qt Creator编译app到iPhone
    用swift判断string是否包含字母
    QToolTip显示富文本问题
    mac如何发起屏幕共享?
    Redis持久化
    bean 实例化原理解析
    WebSocket和SocketIO总结
    netty入门
    redis 工具类
  • 原文地址:https://www.cnblogs.com/kekoukele987/p/7295748.html
Copyright © 2011-2022 走看看