由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Unix版 - a "chdir" problem in C program
相关主题
[转载] how to kill a program in a batch file?[转载] where is the 'iostream' file ?
怎样使UNIX下homepage目录下的内容大虾看看
Help:如何删除这样的目录?GCC 和 G++ 的区别在什么地方?
FTP HelpRe: [转载] 请问:装了GCC以后
Is there any software can D/L a whole directory?Apache中如何加入用户和口令?
A simple question!Help!
[转载] 问一个问题请问显示可用打印机的命令
gcc in mac OSXa question about using ftp dl music file
相关话题的讨论汇总
话题: chdir话题: buf话题: arcbelly话题: ugrad1话题: program
进入Unix版参与讨论
1 (共1页)
w****a
发帖数: 155
1
我在写一个system call 的程序, 主要是用chdir实现改变当前目录,程序如下:
#include
#include
using namespace std;
int main()
{
char* path ="/home/ugrad1/arcbelly";
char* buf ;
buf = new char[256];
chdir(path);
getcwd(buf,256);
cout << buf << endl;
return 0;
}
执行完这个程序后,当前目录应该变到 /home/ugrad1/arcbelly
但是输出结果确是:
/home/ugrad1/arcbelly
The "temp" directory is my original one, so this means that this program
doesn't change the current directory. I think the "chdir" might not work.
请帮我看看是
h****u
发帖数: 277
2
work呀,有什么不对么?

【在 w****a 的大作中提到】
: 我在写一个system call 的程序, 主要是用chdir实现改变当前目录,程序如下:
: #include
: #include
: using namespace std;
: int main()
: {
: char* path ="/home/ugrad1/arcbelly";
: char* buf ;
: buf = new char[256];
: chdir(path);

b****k
发帖数: 10
3
your chdir is only effective in its own process, it cannot change the cwd of
its parent process, which is the shell.

【在 w****a 的大作中提到】
: 我在写一个system call 的程序, 主要是用chdir实现改变当前目录,程序如下:
: #include
: #include
: using namespace std;
: int main()
: {
: char* path ="/home/ugrad1/arcbelly";
: char* buf ;
: buf = new char[256];
: chdir(path);

w****a
发帖数: 155
4
谢谢你的回贴,能不能再详细一些,我正在学习system programming.
你的意思是说,我的程序其实只是改的child process 的目录,而最后显示的是主进程
的目录,但它并没有受到CHDIR 的影响, 是吗。
那请问我应该如何做呢。

【在 b****k 的大作中提到】
: your chdir is only effective in its own process, it cannot change the cwd of
: its parent process, which is the shell.

w****a
发帖数: 155
5
I have another question, looks like in my original problem, I didn't build
another child process using fork(), why chdir didn't work though?

【在 b****k 的大作中提到】
: your chdir is only effective in its own process, it cannot change the cwd of
: its parent process, which is the shell.

h****u
发帖数: 277
6
你的shell是一个程序吧,你写的程序再shell上运行,所以是shell的子程序。所以你的
程序的当前路径变了,不能影响它的父进程。
九江子

of
work.

【在 w****a 的大作中提到】
: I have another question, looks like in my original problem, I didn't build
: another child process using fork(), why chdir didn't work though?

w****a
发帖数: 155
7
Thanks for your help. But is there any method that can change the "dir" of
other process?


cwd

program

【在 h****u 的大作中提到】
: 你的shell是一个程序吧,你写的程序再shell上运行,所以是shell的子程序。所以你的
: 程序的当前路径变了,不能影响它的父进程。
: 九江子
:
: of
: work.

1 (共1页)
进入Unix版参与讨论
相关主题
a question about using ftp dl music fileIs there any software can D/L a whole directory?
文件的LINK到底有什么用处?A simple question!
how to enter a directory like "..a pub" ? Thanks[转载] 问一个问题
为什么Netscape启动以后就自动关闭?gcc in mac OSX
[转载] how to kill a program in a batch file?[转载] where is the 'iostream' file ?
怎样使UNIX下homepage目录下的内容大虾看看
Help:如何删除这样的目录?GCC 和 G++ 的区别在什么地方?
FTP HelpRe: [转载] 请问:装了GCC以后
相关话题的讨论汇总
话题: chdir话题: buf话题: arcbelly话题: ugrad1话题: program