C言語関係掲示板

過去ログ

No674 ディレクトリのコピー方法

[戻る] [ホームページ]
No.7611

ディレクトリのコピー方法
投稿者---maki999(2003/06/20 09:36:59)


始めまして.
maki999と申します.

今,LinuxでCにてディレクトリのコピーをするプログラムを作成していますが,
このディレクトリのコピーをシステムコールを使用してコピーしようと
思うのですが,
たとえば

char srcdir[]="/home/hoge/srcdir/";
char dstdir[]="/home/hoge/dstdir/";

とパス名があり,
システムコールにて"srcdir"と"dstdir"変数を使用した
ことは出来るのでしょうか?

たとえば
system("mv srcdir dstdir");
上記ではもちろんコピーは出来ません.

※ディレクトリのオープン処理等は省略しています.

システムコールでは無理なのでしょうか?
自分でディレクトリコピーのプログラムを作成しないと
無理なのでしょうか?

識者の方アドバイスお願いいたします.

No.7612

Re:ディレクトリのコピー方法
投稿者---none(2003/06/20 10:15:37)


>char srcdir[]="/home/hoge/srcdir/";
>char dstdir[]="/home/hoge/dstdir/";
>
>とパス名があり,
>システムコールにて"srcdir"と"dstdir"変数を使用した
>ことは出来るのでしょうか?

1.sprintf() で書式変換
2.syatem() にてシステムコール

<例>
 char buf[256];
 char path[] = "/root/"

 sprintf( buf, "ls -lrt %s", path );
 syatem( buf );


No.7620

Re:ディレクトリのコピー方法
投稿者---maki999(2003/06/20 15:04:32)


>1.sprintf() で書式変換
>2.syatem() にてシステムコール
>
><例>
> char buf[256];
> char path[] = "/root/"
>
> sprintf( buf, "ls -lrt %s", path );
> syatem( buf );

有難うございます.
早速試してみます.
syatemはsystemでいいのですよね?

No.7621

Re:ディレクトリのコピー方法
投稿者---none(2003/06/20 15:47:45)


>syatemはsystemでいいのですよね?

そう。
syatem はタイプミスだわ。
…スマン。