質問編集履歴

3

追記

2016/10/11 13:52

投稿

ryo_se
ryo_se

スコア68

test CHANGED
File without changes
test CHANGED
@@ -47,3 +47,67 @@
47
47
  今までJAVA屋だったもので、C++についてはわからない点が多く、
48
48
 
49
49
  詳しく教えていただければ幸いです。
50
+
51
+
52
+
53
+
54
+
55
+ 試行錯誤して下記のような流れで実現できました。
56
+
57
+
58
+
59
+ 1._findfirst、_findnextを使用し、ファイル名を取得
60
+
61
+ 2.ファイル名から時間の文字部分を抽出
62
+
63
+ 3.時間の文字部分をSYSTEMTIME形式に変換
64
+
65
+ 4.SYSTEMTIME変数をCTimeに変更し、現在時刻との差異を取得
66
+
67
+ 5.24時間以内の場合、CFileを使用してファイル名からファイルオープン
68
+
69
+
70
+
71
+
72
+
73
+ ただ一つ気になっている部分が3の部分で下記のようなコードで作りました。
74
+
75
+
76
+
77
+ ```ここに言語を入力
78
+
79
+ // 2016/10/08 00:00:00 に変換
80
+
81
+ targetTimeStr = "20161008000000";
82
+
83
+ setStr = targetTimeStr.Left(4);
84
+
85
+ setStr += "/";
86
+
87
+ setStr += targetTimeStr.Mid(4,2);
88
+
89
+ setStr += "/";
90
+
91
+ setStr += targetTimeStr.Mid(6,2);
92
+
93
+ setStr += " ";
94
+
95
+ setStr += targetTimeStr.Mid(8,2);
96
+
97
+ setStr += ":";
98
+
99
+ setStr += targetTimeStr.Mid(10,2);
100
+
101
+ setStr += ":";
102
+
103
+ setStr += targetTimeStr.Mid(12,2);
104
+
105
+ ```
106
+
107
+
108
+
109
+
110
+
111
+ 冗長的な感じなのですがもう少しうまい方法はありますでしょうか?
112
+
113
+ JavaであればFormat変数等で対応できるのですが・・

2

追記

2016/10/11 13:52

投稿

ryo_se
ryo_se

スコア68

test CHANGED
File without changes
test CHANGED
@@ -30,10 +30,20 @@
30
30
 
31
31
 
32
32
 
33
- @補足
33
+ @補足1
34
34
 
35
35
  すみません、情報を記載し忘れました。
36
36
 
37
37
  OSはXP、visual studio2003を使用しています。
38
38
 
39
39
  仕様のためかなり古いバージョンです。
40
+
41
+
42
+
43
+ @補足2
44
+
45
+ 今回のコーディングにおいては、.NETではなくMFCを使用しております。
46
+
47
+ 今までJAVA屋だったもので、C++についてはわからない点が多く、
48
+
49
+ 詳しく教えていただければ幸いです。

1

2016/10/07 23:33

投稿

ryo_se
ryo_se

スコア68

test CHANGED
File without changes
test CHANGED
@@ -27,3 +27,13 @@
27
27
 
28
28
 
29
29
  お手数お掛けしますが、ご教示のほどよろしくお願い致します。
30
+
31
+
32
+
33
+ @補足
34
+
35
+ すみません、情報を記載し忘れました。
36
+
37
+ OSはXP、visual studio2003を使用しています。
38
+
39
+ 仕様のためかなり古いバージョンです。