■要求定義
– ファイルを移動させる
■ステップ1
– 標準ライブラリ関数であるrename関数を使う
#include <stdio.h> int main(){ rename("./test.c", "./hoge/test.c"); printf("移動しました。\n"); return 0; }
$ ./dev
移動しました。
移動できた事を確認。
■ステップ2
– ユーザ入力で$ mv ${FileName} ${MoveDir}となるので、コマンドラインからの入力を元に移動させたい
– 文字列の分割は”strtok”を使う。ポインタでファイル名s1, 異動先s2を指定する。
#include <stdio.h> #include <string.h> int main(){ char ss[256] = "./test.c ./hoge/test.c"; char *s1, *s2; s1 = strtok(ss, " "); s2 = strtok(NULL, " "); rename(s1, s2); printf("移動しました。\n"); return 0; }
■ステップ3
– gets()でコマンドラインから入力した値を取得して移動させたい
int main(){ // char ss[256] = "./test.c ./hoge/test.c"; char ss[256]; char *s1, *s2; gets(ss); s1 = strtok(ss, " "); s2 = strtok(NULL, " "); rename(s1, s2); printf("移動しました。\n"); return 0; }
$ ./dev
./test.c ./hoge/test.c
移動しました。
ほう、面白い。コマンドラインからの入力は、strtokで分割して処理すれば良いですな。