本文主要是介绍Linux开发:通过readlink读取软连接指向的文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Linux系统中经常会使用软连接指向其他目录或文件以快速方便的访问,那么如何读取软连接指向的位置呢,可以通过readlink函数:
#include <unistd.h>
ssize_t readlink(const char *pathname, char *buf, size_t bufsiz);
参数说明:
pathname:软连接的路径
buf:保存软连接指向路径的缓存
bufsiz:buf缓存的大小
返回值:
读取软连接后,保存在buf中的路径的长度,如果返回值长度与bufsiz相等,则代表buf的长度不够,发生了截断
注:该函数不会自动在buf后面补0如果输入参数pathname不是软连接,则返回0
#include <iostream>
#include <string>
#include <unistd.h>using namespace std;string getLinkPath(const string& path)
{char buf[1000] = {0};auto len = readlink(path.c_str(), buf, sizeof(buf)-1);if(len <= 0 || len >= sizeof(buf)-1){cout << "find path link of " << path << "failed" << endl;return "
这篇关于Linux开发:通过readlink读取软连接指向的文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!