sprintf(path_cm_dump, "%s/%s/%s-%01d-%018.6lf", db->persist_dir, DB_META_BACKUP_DIR, DB_META_CMAP_PREFIX, i, sec0);
sprintf(path_sym, "%s/%s-%01d", db->persist_dir, DB_META_CMAP_PREFIX, i);
if (access(path_sym, F_OK) == 0) {
const int ru = unlink(path_sym);
assert(ru == 0);
}
const int rs = symlink(path_cm_dump, path_sym);
//printf("errno is: %d\n",errno); //打印错误信息
assert(rs == 0);
上边两行是两个文件路径的赋值,就是path_cm_dump与path_sym。并且使用access判断path_sym路径上的文件不存在,但是在执行symlink函数时,打印出来的错误仍然是 17 就是File exists。这是什么原因?