C语言realpath

2019/10/16 20:14
阅读数 2.9K

表头文件:

    #include <limits.h>
    #include <stdlib.h>

函数原型:

    char *realpath(const char *path, char *resolved_path)

函数说明:

    realpath()用来将参数path所指的相对路径转换成绝对路径后存于参数resolved_path所指的字符串数组或指针中

返回值: 

    成功则返回指向resolved_path的指针,失败返回NULL,错误代码存于errno

示例代码:

#include <limits.h> /* PATH_MAX */
#include <stdio.h>
#include <stdlib.h> /* realpath */

int main()
{
    char actualPath[PATH_MAX + 1] = {0};
    char* ptrRet = NULL;
    FILE* fp = NULL;

    while (1) {
    ptrRet = realpath("/home/tongyishu/debug.log", actualPath);
    if (ptrRet != NULL) {
        fprintf(stdout, "%s\n", actualPath);
        fp = fopen(actualPath, "a");
        if (fp != NULL) {
            fprintf(stdout, "tongyishu\n");
            fprintf(fp, "tongyishu\n");
            sleep(3);
        }
        fclose(fp);
    }
}
return 0;
}

控制日志开关:

    在上述函数中,如果debug.log不存在,则不会打印日志
    如果debug.log文件已经存在,则会每隔3秒打印一次
    因此,可以通过控制 debug.log 文件的否存在来控制日志的打印                                                                        
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部