Para listar los archivos lo hacés con llamadas al sistema o con alguna librería.
Por ejemplo podés usar
filesystem de
Boost. Son multiplataforma.
Sería algo así:
#include <iostream>
#include <boost/filesystem.hpp>
#include <cstdio>
int main(){
boost::filesystem::path directorio( "./" ); // directorio actual
boost::filesystem::directory_iterator final;
boost::filesystem::directory_iterator it( directorio ); // puntero a los archivos del directorio
while( ++it != final ){
std::cout << it->path().leaf() << std::endl; }
return 0;
}
Con esto recorres un directorio especificado y mostras los nombres de los archivos.
Para renombrarlos podés usar
rename, que está en
cstdio:
rename( "cristian.jpg", "archivo_renombrado.jpg" );