ブロックデバイスのサイズを取得するタスクがあります。クロスプラットフォームアプリケーション(Linux / Windows)である必要があるため、Qtを使用します。QFileやQFileInfoなどのQt標準クラスを使用してブロックデバイスのファイルサイズを取得できますか?スケッチプログラムが正しく機能しません:
#include <QtCore/QCoreApplication>
#include <iostream>
#include <QFileInfo>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QFileInfo info("/dev/sda5");
if(info.isReadable())
std::cout<<"/dev/sda1 isReadable\n";
else
std::cout<<"Cant read /dev/sda5";
std::cout<<info.size()<<"\n";
return a.exec();
}
「/dev/ sda5isReadable」と表示され、サイズはゼロです。この問題を解決するのを手伝ってもらえますか?