在linux中"获取"路径

Hol*_*orf 3 c linux operating-system

我在linux上写ac程序.像execv()这样的命令需要一个ac字符串形式的路径.是否有一个命令将以ac样式字符串的形式返回当前路径?

Joh*_*kin 11

getcwd():

概要

#include <unistd.h>

char *getcwd(char *buf, size_t size);
Run Code Online (Sandbox Code Playgroud)

描述

GETCWD()函数应当将数组中的当前工作目录的绝对路径由指着BUF,并返回BUF.复制到数组的路径名不应包含符号链接的组件.所述尺寸参数是在阵列由指向的字符的字节数的buf参数.如果buf是空指针,则未指定getcwd()的行为.

返回值

成功完成后,getcwd()将返回buf参数.否则,getcwd()将返回一个空指针并设置errno以指示错误.buf指向的数组的内容然后是未定义的....


Com*_*ger 6

execv()的path参数是您希望执行的应用程序的路径,而不是当前工作目录(将由getcwd()返回)或shell搜索路径(将由getenv("PATH")返回) ).

根据您正在做的事情,您可能会从C库中的system()函数获得更多里程,而不是更低级别的exec()系列.