Seite 1 von 1

Belegter/freier Speicherplatz Linux & Windows

Verfasst: 26. November 2009 10:12
von samsamsam
Hallo allerseits.

Ich programmiere gerade ein kleines Programm, welches sowohl auf Windows als auch auf Linux laufen soll. Daher wüsste ich gerne, wie und ob man plattformunabhängigen code benutzen kann, um die Größe des belegten und des freien Speicherplatzes auf der Festplatte herauszufinden.

Das Problem ist, dass ich einige Virtuelle Appliances gleichzeitig starten möchte und mir gerne Überblick verschaffen möchte, wieviel Platz ist überhaupt da, die man den Appliances zuweisen könnte.

Falls jemand weiß, ob und wie man das mit Qt lösen könnte, dann wäre der Code sowohl für Windows als auch für Linux geeignet und es würde mir enorm weiterhefen.

Verfasst: 26. November 2009 12:29
von AuE
Qt weiß ich es nicht aber wie wäre es mit der boost?
boost::filesystem::space_info s = boost::filesystem::space(p);

Code: Alles auswählen

 
  boost::filesystem::path p("C:\\"); 
  try 
  { 
    boost::filesystem::space_info s = boost::filesystem::space(p); 
    std::cout << s.capacity << std::endl; 
    std::cout << s.free << std::endl; 
    std::cout << s.available << std::endl; 
  } 

Verfasst: 8. Dezember 2009 15:09
von samsamsam
Ich habe versucht boost unter windows zu installieren, aber es klappt nicht so wie ich will. hat jemand vielleicht tips, wie man möglichst einfach die boost-lib benutzt? ich bin unerfahren, wenn es um einbinden von bibliotheken geht und bin gewohnt, dass mit meine programmierumgebung (qt) alles einbindet was ich brauche und ich per hand nichts machen muss. daher meine bitte an die erfahrenen programmierer, vielleicht zu schreiben, wie ich boost (filesystem) unter windows und ubuntu installiere/einbinde

Verfasst: 9. Dezember 2009 18:46
von AuE
Boost runterladen, in Verzeichnis wechseln und dann glaub configure und anschließend bjam aufrufen! Wenn du die filesystem.dll hast dann kannst du die wie gewohnt als dll nutzen. Header includen und deinen Projekt sagen das es als abhängigkeit diese DLL hat!