回答編集履歴

3

find_if を使うコードを追加

2019/10/24 13:19

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -89,3 +89,39 @@
89
89
  if (検索(*p) && p->size() > 20) cout << "[FIND]:" << *p << '\n';
90
90
 
91
91
  ```
92
+
93
+ **追記2**
94
+
95
+ STL の find_if 使って main を書き直してみました。
96
+
97
+ ```C++
98
+
99
+ #include <algorithm> // find_if
100
+
101
+
102
+
103
+ int main()
104
+
105
+ {
106
+
107
+ for (int i = 1; i <= g_NUM; i++) {
108
+
109
+ ostringstream oss;
110
+
111
+ oss << "top" << setfill('0') << setw(4) << i << ".dat";
112
+
113
+ vector<string> vText;
114
+
115
+ if (!Dic_ReadFile(oss.str(), vText)) break;
116
+
117
+ vector<string>::iterator p = vText.begin();
118
+
119
+ for (; (p = find_if(p, vText.end(), 検索)) != vText.end(); ++p)
120
+
121
+ if (p->size() > 20) cout << "[FIND]:" << *p << '\n';
122
+
123
+ }
124
+
125
+ }
126
+
127
+ ```

2

誤字修正

2019/10/24 13:19

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
  **追記**
84
84
 
85
- 長さが 20以上という条件が要るんでしょうか?
85
+ 長さが 20以上という条件が要るんでしょうか?
86
86
 
87
87
  ```C++
88
88
 

1

文字列長の条件を追加

2019/10/23 23:51

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -77,3 +77,15 @@
77
77
  STL の find_if ではなく、string::find を使ったので、
78
78
 
79
79
  ご希望のものではないかもしれませんが。
80
+
81
+
82
+
83
+ **追記**
84
+
85
+ 長さが 20以上という条件が要るるんでしょうか?
86
+
87
+ ```C++
88
+
89
+ if (検索(*p) && p->size() > 20) cout << "[FIND]:" << *p << '\n';
90
+
91
+ ```