質問するログイン新規登録

質問編集履歴

2

ソースを修正(Windows API使用の場合)

2018/09/30 08:26

投稿

yorha0005
yorha0005

スコア14

title CHANGED
File without changes
body CHANGED
@@ -15,6 +15,7 @@
15
15
  struct dirent *dp; /* ディレクトリ情報を保存するための構造体宣言 */
16
16
  char path[64] = "/Users/name/Downloads"; /* 読込先のディレクトリ */
17
17
  char str1[] = "TESTMOVE";
18
+ char newPath[64] = "C:\moveFile/";      /*新しいディレクトリ*/
18
19
 
19
20
  //①opendir によりファイルをオープン 
20
21
  if ((dir = opendir(path)) == NULL) {
@@ -31,7 +32,11 @@
31
32
  if (strstr(dp->d_name, str1) != NULL) {
32
33
  printf("含まれる\n");
33
34
  //ファイルのディレクトリを移動(ここから)
34
-
35
+ if (MoveFile((LPCTSTR)path,(LPCTSTR)newPath)) {
36
+ puts("移動しました。");
37
+ } else {
38
+ puts("移動に失敗しました。");
39
+ }
35
40
  } else {
36
41
  printf("含まれない\n");
37
42
  }

1

追記

2018/09/30 08:26

投稿

yorha0005
yorha0005

スコア14

title CHANGED
File without changes
body CHANGED
@@ -45,4 +45,8 @@
45
45
  }
46
46
  ```
47
47
 
48
- よろしくお願いいたします。
48
+ よろしくお願いいたします。
49
+
50
+ 追記:dp->d_nameが単純にファイル名のみ表示されており、これをrename()とかで名前を変えようかと思ったのですが、dp->d_nameにファイル名しか取得されてないことを考えると単純に「ファイル名」⇒「移動先/ファイル名」みたいに変えてしまっていいのか疑問です。
51
+
52
+ また、効率のいい方法があったらご教示頂きたいです。