Duda ficheros c++

Iniciado por oskrg55, 8 Agosto 2015, 22:29 PM

0 Miembros y 1 Visitante están viendo este tema.

oskrg55

hola gente tengo un problema con ficheros aca el codigo sencillo
Código (cpp) [Seleccionar]
int main()
{
system("color 0a");
  ofstream salida("salida.txt",ios::out);
  for(int a=0;a<=1;a++)
   {
cout <<"Ingresa nombre\n";
cin.getline(nombre,50);
salida<<nombre<<endl;
  }
salida.close();
bla();
   return 0;
}
void bla()
{
   ifstream inx("salida.txt",ios::in);
   while(!inx.eof())
   {
   inx>>nombre;
  cout <<"nombre["<<nombre<<"]"<<endl;
   }
}


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

ivancea96

Código (cpp) [Seleccionar]
inx >> nombre;
Eso lee del fichero hasta el próximo salto de linea o espacio. Si quieres leer linea a linea, utiliza:

Código (cpp) [Seleccionar]
getline(inx, nombre);

oskrg55

#2
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, ' ');

ivancea96

El caso
Código (cpp) [Seleccionar]
getline(inx,nombre); era suponiendo que "nombre" fuera una string. Pero en el código no muestras su declaración.