您好我正在编写一个C程序,我是新手,我使用system
来运行命令,但每当我输入cd..
时它会显示正确的目录,但它始终保持在那里。
int main(){
char command[20];
while(1){
scanf("%s", &command); //typing in cd..
//it returns "C:\Program Files (x86)\Google\Drive\"
system(command);
}
}
我再次键入它仍然似乎在同一目录中。如何使用system
?
答案 0 :(得分:0)
Linux系统函数名为' chdir'你可以在你的程序中使用。 ' chidr'可以在程序运行时更改程序当前目录。
该程序将在运行时成为linux的一个进程。系统会将环境变量复制到此过程。在这些环境变量中,名为PWD的变量仍然是进程的当前目录路径。因此,您可以使用以下程序显示所有环境变量的值:
#include <stdlib.h>
#include <stdio.h>
extern char **environ;
int main()
{
char **env = environ;
//show the current directory path
printf("PWD: %s\n", getenv("PWD"));
//show all environment variables.
while(*env)
{
printf("%s\n",*env);
env++;
}
return 0;
}
因此,您可以更改变量&#34; PWD&#34;的值。通过调用名为&#34; chdir&#34;的系统函数并通过调用名为&#34; getenv&#34;的系统函数来显示当前路径。 此外,您可以使用以下shell commond显示环境变量的详细信息:
man 7 environ
如果您不知道如何使用&#34; chdir&#34;函数,您可以使用以下shell公共行来获取帮助:
man chdir