0

提供されたコードを使用してファイルのサイズを把握し、その結果をファイル オブジェクトに渡そうとしています。特定の拡張子の場合にのみファイルサイズを渡します。この関数は完全に機能します。私が抱えている唯一の問題は、ifile.tellg()がファイルサイズごとに-1を渡すファイルサイズです。

void NonRecursiveProcess(string directory)
{
    for(directory_iterator dir_end, dir(directory); dir != dir_end; ++dir) 
    { 
        path _path(*dir); 
        if(!is_directory(_path)) 
        { 
            for ( vector<ExtensionAbstract*>::iterator it = extensionsAbstract.begin() ; it != extensionsAbstract.end(); ++it)
            {
                if ( _path.file_string().substr(_path.file_string().find_last_of(".") + 1) == (*it)->GetExtension())
                {
                    std::ifstream ifile(_path.file_string(), std::ifstream::in | std::ifstream::binary );
                    ifile.seekg(0, std::ios_base::end);
                    (*it)->AddkB(ifile.tellg());
                    (*it)->AddFileCount();
                }
            }
        } 
    } 
}`
4

2 に答える 2