03-01-2004, 07:06 PM | #1 (permalink) |
Junkie
Location: RI
|
[C]Renaming/moving a directory
As the subject says, I'm trying to rename/move/delete a directory, but the folder also has stuff in it. I'd prefer to move the directory from ~/mech/player/ to ~/mech/backup if that helps. I tried using a rename function, but that didn't accomplish much. Any help would be greatly appriciated.
|
03-02-2004, 07:39 AM | #5 (permalink) |
WARNING: FLAMMABLE
Location: Ask Acetylene
|
Hrm... Something in between quotes is stored as what in C? A character array?
Generate the array yourself and pass it in as a parameter to execve with the proper variable placement.
__________________
"It better be funny" |
03-02-2004, 08:04 AM | #7 (permalink) |
WARNING: FLAMMABLE
Location: Ask Acetylene
|
Anywhoo,
File system operations are the realm of the OS so you won't find them in the standard libraries. You will have to include headers for whichever OS you plan on compiling it under, can I assume something POSIX compliant?
__________________
"It better be funny" Last edited by kel; 03-02-2004 at 08:11 AM.. |
03-02-2004, 04:33 PM | #8 (permalink) |
Upright
|
Not quite sure why you want to do this with C, a shell script would probably be easier. That being said:
PHP Code:
Note that execvp replaces the current process with the image of 'mv'. If you want your program to continue running after you exec, you will need to fork() prior to the exec(). I just noticed that you were using execve, which has three parameters, the third being the path. execvp just uses the path from your environment. |
03-03-2004, 06:34 AM | #10 (permalink) | |
Upright
|
Quote:
and you use any of the exec() family of functions, your program will work like this:
That is because the current process image of YOUR program is overwritten by the 'mv' process image. You need to fork to create an exact duplicate copy of your process, and immediatly replace one of them with the mv exec: PHP Code:
|
|
Tags |
crenaming or moving, directory |
|
|