Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: elcout en 29 Octubre 2020, 23:55 pm



Título: ayuda con creación de varios ficheros
Publicado por: elcout en 29 Octubre 2020, 23:55 pm
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.

Código
  1. #include<iostream>
  2. #include<fstream>
  3. #include <sstream>
  4. #include <direct.h>
  5.  
  6. using namespace std;
  7.  
  8. void primeringreso(){
  9. string nombre="sillon";
  10. string result;
  11. ofstream archivo;
  12.  
  13. mkdir("c:/datos");
  14.  
  15. for(int i=0;i<10;++i){
  16.  
  17.   std::stringstream sstm;//concatenar
  18.   sstm <<"c:/datos" <<nombre << i;
  19.   result = sstm.str();
  20.  
  21.  
  22.   archivo.open(result,ios::app);//apretura o creacion del documento
  23.  
  24.   if(archivo.fail()){
  25.   cout<<"el archivo numero "<<i<<" no pudo abrirse"<<endl;
  26.   exit(1);
  27.   }
  28.   archivo.close();
  29. }
  30. }
  31.  
  32. int main(){
  33. primeringreso();
  34. }


Título: Re: ayuda con creación de varios ficheros
Publicado por: Eternal Idol en 30 Octubre 2020, 00:57 am
Te falta el separador de directorio (en este caso usaste /) despues de c:/datos.


Título: Re: ayuda con creación de varios ficheros
Publicado por: K-YreX en 30 Octubre 2020, 01:05 am
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).


Título: Re: ayuda con creación de varios ficheros
Publicado por: elcout en 30 Octubre 2020, 11:39 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&)'




Título: Re: ayuda con creación de varios ficheros
Publicado por: Eternal Idol en 30 Octubre 2020, 11:44 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).