Jul 152012

Para la tarea de esta semana, ordenar archivos secuenciales con el método de partición y fusión de archivos en PR2, es necesario crear n archivos cuyo nombre sea un diferente. Una forma es fijar un prefijo, por ejemplo “parte-“, una parte variable: un entero entre 00 y 99, y una extensión fija como “.dat” o “txt”. Los nombres tendrán la forma parte-01.txt, parte-02.txt, …, parte-99.txt.
El problema es ¿como convertir enteros a cadenas std::string?, en Lenguaje de programación C se puede usar la función: sprintf, pero en C++ se puede usar otro método. Hace tiempo en el Foro Laneros escribí lo siguiente:
En C++
#include <sstream>
...
std::string int2string(int n){
std::stringstream flujo;
flujo << n;
return(flujo.str());
}
con programación genérica:
#include <sstream>
...
template <class C> std::string dato2string(const C& dato){
std::stringstream flujo;
flujo << dato;
return(flujo.str());
}
Suerte
Rafael (ver el original aquí)