Estás en C o C++?
En C++:
Código C++:
Ver original#include <string>
#include <sstream>
#include <fstream>
using namespace std;
//...
stringstream Nombre;
ofstream Guardar;
int i = 1;
while (!fi.eof())
{
Nombre.str(string()); // Limpiamos el stream
Nombre<<argv[1]<<i; // Generamos el nuevo nombre
Guardar.open(Nombre.str().c_str()); // Creamos
i++;
}