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