回答編集履歴
1
文言
answer
CHANGED
|
@@ -19,4 +19,5 @@
|
|
|
19
19
|
|
|
20
20
|
`pathsize` がポインタのサイズ(4 か 8 でしょう)になっています。そのため高い確率でバッファオーバーランしています。これも `wcslen(dirpath) + wcslen(win32fd.cFileName) + 2` のようにすべきです。
|
|
21
21
|
|
|
22
|
-
Cで文字列操作するのは間違いやすいので、C++で`std::wstring`を活用するのをおすすめします。
|
|
22
|
+
* Cで文字列操作するのは間違いやすいので、C++で`std::wstring`を活用するのをおすすめします。
|
|
23
|
+
* 極端に長い・深いパスを扱わなくてもよいなら、ファイル名用バッファのサイズを `FILENAME_MAX` などでの固定長にして、この長さを超えそうなら処理しない、というのも手です。
|