表头文件:
#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 文件的否存在来控制日志的打印