¿Cómo puedo detectar si una línea está vacía?¿Cómo detectar líneas vacías mientras se lee desde el objeto istream en C++?
que tengo:
1
2
3
4
5
estoy leyendo esto con istream r manera:
int n;
r >> n
quiero saber cuando llegue el espacio entre 4 y 5. Traté de leer como char y usando .peek() para detectar \ n pero esto detecta el \ n que va después del número 1. La traducción de la entrada anterior es: 1 \ n2 \ n3 \ n4 \ n \ n5 \ n si estoy en lo correcto ...
Como voy a manipular los datos, prefiero leerlos como si fueran en lugar de usar getline y luego convertir a int ...
¤ Lea cada línea en 'std :: string' utilizando' std :: getline'. Verifique la longitud de la cuerda. Use p. Ej. a 'std :: istringstream' para leer elementos individuales de la línea de entrada. Esto también lo ayudará con una entrada errónea. Cheers & hth., –
Oh, acabo de ver el último párrafo, que dice parafraseado: "No quiero usar la forma más fácil y razonable". En ese caso, hay virtualmente trillones de formas más complejas. Solo la imaginación de uno puede poner límites a las formas de hacer algo de una manera tontamente compleja. Cheers, –
Bueno, no tienes que ser grosero. Al menos probé diferentes maneras antes de publicar esto. Solo quería saber si había otra forma. Solo estoy aprendiendo C++ atm. ¡Gracias por el comentario de istringstream, voy a intentar mezclarlo con la línea getline! Puede publicarlo como respuesta si lo desea, y lo aceptaré. – bb2