使用readlink函数作为“如何在C中找到可执行文件的位置”的解决方案?,我如何将路径转换为char数组?另外,变量buf和bufsize代表什么,以及如何初始化它们?
编辑:我试图获取当前正在运行的程序的路径,就像上面链接的问题一样。这个问题的答案说来有用readlink("proc/self/exe")
。我不知道如何在我的程序中实现它。我试过了:
char buf[1024];
string var = readlink("/proc/self/exe", buf, bufsize);
这显然是不正确的。
这使用的readlink()函数正确的正确使用readlink
功能。
如果您的路径位于中std::string
,则可以执行以下操作:
#include <unistd.h>
#include <limits.h>
std::string do_readlink(std::string const& path) {
char buff[PATH_MAX];
ssize_t len = ::readlink(path.c_str(), buff, sizeof(buff)-1);
if (len != -1) {
buff[len] = '\0';
return std::string(buff);
}
/* handle error condition */
}
如果只在固定路径下走:
std::string get_selfpath() {
char buff[PATH_MAX];
ssize_t len = ::readlink("/proc/self/exe", buff, sizeof(buff)-1);
if (len != -1) {
buff[len] = '\0';
return std::string(buff);
}
/* handle error condition */
}
要使用它:
int main()
{
std::string selfpath = get_selfpath();
std::cout << selfpath << std::endl;
return 0;
}
我正在使用Win8上的Eclipse ADT+ADK包adt-bundle-windows-x86-20131030。我还安装了Java JDK1.6,我看到它是安装在C:\Program Files(x86)\Java\JDK1.6.0Android ADT对我来说很好(它编译了我尝试过的几个项目--hello world,我也能在设备上运行这个应用程序) 我知道Eclipse-ADT使用JAV
描述 (Description) 此函数返回链接EXPR指向的文件的路径名,如果未指定EXPR,则返回$ _ 语法 (Syntax) 以下是此函数的简单语法 - readlink EXPR readlink 返回值 (Return Value) 此函数在错误时返回undef,否则返回文件的路径名。 例子 (Example) 以下是显示其基本用法的示例代码 - #!/usr/bin/perl -w
readlink(取得符号连接所指的文件) 相关函数 stat,lstat,symlink 表头文件 #include<unistd.h> 定义函数 int readlink(const char * path ,char * buf,size_t bufsiz); 函数说明 readlink()会将参数path的符号连接内容存到参数buf所指的内存空间,返回的内容不是以NULL作字符串结尾,但会
readlink 取得符号连接所指的文件 相关函数 stat,lstat,symlink 表头文件 #include<unistd.h> 定义函数 int readlink(const char *path, char *buf, size_t bufsiz); 函数说明 readlink()会将参数path的符号连接内容存到参数buf所指的内存空间,返回的内容不是以NULL作字符串结尾,但会
二叉搜索树依赖于在左子树中找到的键小于父节点的属性,并且在右子树中找到的键大于父代。 我们将这个称为 bst属性。 当我们如上所述实现 Map 接口时,bst 属性将指导我们的实现。 Figure 1说明了二叉搜索树的此属性,展示了没有任何关联值的键。请注意,该属性适用于每个父级和子级。 左子树中的所有键小于根中的键。 右子树中的所有键都大于根。 Figure1 现在你知道什么是二叉搜索树,我们将
类似这样的线,加载的时候线条路径动画如何实现? 以及每条数据添加折点 help 数据大概是这样