Foros del Web » Programación para mayores de 30 ;) » C/C++ »

problema con el uso de cin.sync()

Estas en el tema de problema con el uso de cin.sync() en el foro de C/C++ en Foros del Web. hola muchachos en el siguiente código poseo el problema de que por alguna razón al implementar la funcion cin.sync() y cargar un documento en bloc ...
  #1 (permalink)  
Antiguo 22/04/2015, 20:24
 
Fecha de Ingreso: septiembre-2012
Ubicación: bogota
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
problema con el uso de cin.sync()

hola muchachos
en el siguiente código poseo el problema de que por alguna razón al implementar la funcion cin.sync() y cargar un documento en bloc de notas, no me lee los datos en el .txt, ingresandolos manualmente no hay problema.
¿por que sucede esto?


//description: programa que resive un numero n, este permite ingresar un numero n de lineas, luego el retorna las lineas en orden de aparición y sin repetir.

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

const string sd="null";

int main()
{
freopen("palabras2.txt","r",stdin);
int n,j=0;
cin>>n;

string s[n];


for(int i=0; i<n; i++)
getline(cin,s[i]);


//por este medio retiro los numeros repetidos
for(int i=0; i<n; i++)
for(int k=0; k<n; k++)
if(s[i]==s[k]&&(i!=k))
{
s[k]=sd;
}


//gracias a esto filtro solamente los resultados que no poseen el valor de sd que son los repetidos
for(int i=0; i<n; i++)
{
if(s[i]!=sd)
{
cout<<s[i]<<endl;
}
}

return 0;
}

perdón si no lo presento bien, es que no se como, el archivo de bloc de notas posee

3
hola mundo
hola hola
aqui hola


gracias de antemano
  #2 (permalink)  
Antiguo 23/04/2015, 12:40
 
Fecha de Ingreso: septiembre-2012
Ubicación: bogota
Mensajes: 9
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: problema con el uso de cin.sync()

Creo que ya encontré la razón del problema, al leer la linea cin.sync();, borra todos los datos que había cargado de mi archivo, así ya no posee nada mas que leer.

¿que otra manera hay de solución que no sea limpiar el buffer, cuando uno ingresa primero un int y luego ingresa un string con getline(), para que el string no tome el salto de linea?

Etiquetas: funcion, int, numero, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:58.