miren tenia la idea de generar 10 ficheros cada uno con el mismo nombre solo que con distinta numeración para guardar diferentes datos en cada fichero y almacenarlos en una carpeta determinada.
para esto concatene la ruta y el nombre para después solo ingresarlo en la función
archivo.open() el problema es que me arroja error justo en esa parte y no entiendo el porque ni como solucionar esa traba.
les adjunto el programa para que me puedan orientar o enseñar una manera para que mi idea funcione.
#include<iostream>
#include<fstream>
#include <sstream>
#include <direct.h>
using namespace std;
void primeringreso(){
string nombre="sillon";
string result;
ofstream archivo;
mkdir("c:/datos");
for(int i=0;i<10;++i){
std::stringstream sstm;//concatenar
sstm <<"c:/datos" <<nombre << i;
result = sstm.str();
archivo.open(result,ios::app);//apretura o creacion del documento
if(archivo.fail()){
cout<<"el archivo numero "<<i<<" no pudo abrirse"<<endl;
exit(1);
}
archivo.close();
}
}
int main(){
primeringreso();
}
Te falta el separador de directorio (en este caso usaste /) despues de c:/datos.
Exactamente, como te dice @Eternal Idol, te falta el separador entre el directorio y el nombre del fichero.
Comprueba tu directorio C: porque si has ejecutado ese programa, habrás creado un directorio datos/ y al mismo nivel (es decir en C:) tendrás los ficheros datossillon(i).
Cita de: Eternal Idol en 30 Octubre 2020, 00:57 AM
Te falta el separador de directorio (en este caso usaste /) despues de c:/datos.
hola, pues si estaba ese error lo arregle pero aun me sigue lanzando error diciendo
[Error] no matching function for call to 'std::basic_ofstream<char>::open(std::string&, const openmode&)'
Cita de: elcout en 30 Octubre 2020, 11:39 AM
hola, pues si estaba ese error lo arregle pero aun me sigue lanzando error diciendo
[Error] no matching function for call to 'std::basic_ofstream<char>::open(std::string&, const openmode&)'
¿Como lo arreglaste exactamente? ¿Antes no te compilaba acaso?
http://www.cplusplus.com/reference/fstream/ofstream/open/
Proba con result.c_str() como primer parametro a open si tu compilador no soporta >= C++11 (o configuralo para usar >= esa version del standard).