Visual C++ 2005 Express Edition 質問箱
■ このスレッドは過去ログ倉庫に格納されています
0175173
2006/03/25(土) 09:58:02その方法で a が変更されることを確認しました。(↓こんな感じ)
>array<String^>^ a=System::IO::Directory::GetFiles("C:\\","*.*");
>for each(String^% s in a)
>{
> s=System::IO::Path::GetFileName(s);
>}
しかし同じ事を一旦、ArrayList に入れてからやろうとすると、
'System.ArgumentException' のハンドルされていない例外が mscorlib.dll で発生しました。
追加情報: パスに無効な文字が含まれています(↓こんな感じ)
>array<String^>^ as=System::IO::Directory::GetFiles("C:\\","*.*");
>ArrayList ^al=gcnew ArrayList;
>al->AddRange(as);
>for each(String^% s in al)
>{
> s=System::IO::Path::GetFileName(s);
>}
一旦、ArrayList に入れてるのは、実際には再帰的に GetFiles を呼び出して、サブフォルダ内の
すべてのファイル名を ArrayList に入れているからです。
なんで、ArrayList に入れるとエラーが発生するんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています