La classe system.io
Ciao,
in C++ mi servirebbe sapere come posso gestire file e directory, conosco già come scrivere o leggere un file con fstream e iostream, mi servirebbe poter elencare il contenuo di una directory e poter leggere le proprietà di un file quali data di creazione e ultima modifica... cercando su internet ho trovato che devo usare la classe system.io
Qualcuno la conosce e potrebbe spiegarmela, magari facendo un piccolo esempio di programma consol per sfogliare una directory?
Grazie, ciao
in C++ mi servirebbe sapere come posso gestire file e directory, conosco già come scrivere o leggere un file con fstream e iostream, mi servirebbe poter elencare il contenuo di una directory e poter leggere le proprietà di un file quali data di creazione e ultima modifica... cercando su internet ho trovato che devo usare la classe system.io
Qualcuno la conosce e potrebbe spiegarmela, magari facendo un piccolo esempio di programma consol per sfogliare una directory?
Grazie, ciao
Risposte
A quanto pare la classe System.IO non appartiene alla libreria standard C++, ma è roba Microsoft .NET.
Comunque, se ti può servire, ecco un esempio (preso dall'help in linea di Visual C++ 2005 Express Edition) di utilizzo per verificare/impostare l'attributo nascosto di un certo file:
Altro esempio che utilizza la classe FileInfo per conoscere nomi e dimensione dei file in una directory:
Comunque, se ti può servire, ecco un esempio (preso dall'help in linea di Visual C++ 2005 Express Edition) di utilizzo per verificare/impostare l'attributo nascosto di un certo file:
using namespace System;
using namespace System::IO;
using namespace System::Text;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
// Delete the file if it exists.
if ( !File::Exists( path ) )
{
File::Create( path );
}
if ( (File::GetAttributes( path ) & FileAttributes::Hidden) == FileAttributes::Hidden )
{
// Show the file.
File::SetAttributes( path, FileAttributes::Archive );
Console::WriteLine( "The {0} file is no longer hidden.", path );
}
else
{
// Hide the file.
File::SetAttributes( path, static_cast<FileAttributes>(File::GetAttributes( path ) | FileAttributes::Hidden) );
Console::WriteLine( "The {0} file is now hidden.", path );
}
}
Altro esempio che utilizza la classe FileInfo per conoscere nomi e dimensione dei file in una directory:
// The following example displays the names and sizes
// of the files in the specified directory.
using namespace System;
using namespace System::IO;
int main()
{
// Make a reference to a directory.
DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\" );
// Get a reference to each file in that directory.
array<FileInfo^>^fiArr = di->GetFiles();
// Display the names and sizes of the files.
Console::WriteLine( "The directory {0} contains the following files:", di->Name );
System::Collections::IEnumerator^ myEnum = fiArr->GetEnumerator();
while ( myEnum->MoveNext() )
{
FileInfo^ f = safe_cast<FileInfo^>(myEnum->Current);
Console::WriteLine( "The size of {0} is {1} bytes.", f->Name, f->Length );
}
}
"anonymous_be1147":
A quanto pare ....
Grazie, appena ho il compilatore sottomano gli provo e ti faccio sapere