Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: oskrg55 en 8 Agosto 2015, 22:29 pm



Título: Duda ficheros c++
Publicado por: oskrg55 en 8 Agosto 2015, 22:29 pm
hola gente tengo un problema con ficheros aca el codigo sencillo
Código
  1. int main()
  2. {
  3. system("color 0a");
  4.   ofstream salida("salida.txt",ios::out);
  5.   for(int a=0;a<=1;a++)
  6.    {
  7. cout <<"Ingresa nombre\n";
  8. cin.getline(nombre,50);
  9. salida<<nombre<<endl;
  10.   }
  11. salida.close();
  12. bla();
  13.    return 0;
  14. }
  15. void bla()
  16. {
  17.    ifstream inx("salida.txt",ios::in);
  18.    while(!inx.eof())
  19.    {
  20.    inx>>nombre;
  21.   cout <<"nombre["<<nombre<<"]"<<endl;
  22.    }
  23. }

la cosa es que debieria imprimirme nombre digamos mario mora  y julia lopez
pero imprime mal lo hace asi
nombre [mario]
nombre [mora]
nombre [julia]
nombre [lopez]
la idea es todo en la misma linea nombre [mario mora ]
se agradece la ayuda


Mod: Los códigos deben ir en etiquetas GeSHi


Título: Re: Duda ficheros c++
Publicado por: ivancea96 en 8 Agosto 2015, 23:55 pm
Código
  1. inx >> nombre;
Eso lee del fichero hasta el próximo salto de linea o espacio. Si quieres leer linea a linea, utiliza:

Código
  1. getline(inx, nombre);


Título: Re: Duda ficheros c++
Publicado por: oskrg55 en 10 Agosto 2015, 03:35 am
Me da error mira
G:\Nueva carpeta\numeros en char\main.cpp|25|error: no matching function for call to 'getline(std::ifstream&, char [50])'|

la variable es esta "char nombre[50]".
q podra ser




 ya pude excelente gracias

inx.getline(nombre,50, ' ');


Título: Re: Duda ficheros c++
Publicado por: ivancea96 en 10 Agosto 2015, 17:14 pm
El caso
Código
  1. getline(inx,nombre);
era suponiendo que "nombre" fuera una string. Pero en el código no muestras su declaración.