我想使用提供的代碼找出文件的大小並將結果傳遞到我的文件對象中。它只會傳遞文件大小,如果它是一個特定的擴展名,這個函數完美工作,我唯一的問題是ifile.tellg()傳遞-1的文件大小爲每個文件大小。找出文件的大小C++
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();
}
}
}
}
}`
這是'boost :: filesystem'嗎?你不能只使用['file_size'](http://www.boost.org/doc/libs/1_53_0/libs/filesystem/doc/reference.html#file_size)嗎? –
「我遇到的唯一問題是ifile.tellg()傳遞的文件大小」。也許你可以告訴我們你遇到的問題是什麼? –
問題現在說,對不起。 – Tas