问题描述
编辑:问题已解决。
我正在尝试读取位于 proc/PID/environ 中的文件,该文件在文件夹树中比我当前的程序高 5 个文件夹。
我写下面的文件名“../../../../../proc/PID/environ”就可以了,但是我希望程序更便携(兼容)与其他计算机。
当我使用“/proc/PID/environ”时无法识别文件,这是文件的绝对路径。
这是似乎不起作用的代码行:
int main(int argc,char *argv[]) {
char filename[32];
char* value;
int key = 579;
char line[1000];
int nDigits = floor(log10(abs(key))) + 1;
snprintf(filename,nDigits+15,"/proc/%d/environ",key);
FILE *file = fopen(filename,"r");
错误只是文件不存在。 错误:errno='没有那个文件或目录'。
filename
如果打印的确实是 /proc/579/environ
所以我看不出问题
有没有办法在 C 中读取不在当前目录中的文件,而不使用“..”返回树中? /proc/PID/environ
位于树的根部,我希望能够使用绝对路径。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)