Autor
|
Tema: Comparar string con retorno de carro , tabulador y demás caracteres especiales (Leído 9,918 veces)
|
hervasiop12345
Desconectado
Mensajes: 36
|
Hola a todos. Necesito parar un bucle al encontrar un caracter especial pero no lo consigo. Parece una pregunta trivial pero a más de uno seguro que le interesa. Gracias de antemano y dejo la forma que creía que funcionaria. #include<string> #include<iostream> using namespace std; int main(){ string comando; while(comando!="\n"){ cin>>comando; } return 0; }
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
hola , malo: string comando; int main(){ char comando; while(comando != Special Char) { cin>>comando; } return 0; }
|
|
|
En línea
|
|
|
|
hervasiop12345
Desconectado
Mensajes: 36
|
hola , malo: string comando; int main(){ char comando; while(comando != Special Char) { cin>>comando; } return 0; } no funciona
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
no funciona
Pues claro que eso no funciona y tu por que crees que no funcione... Pista esta como usan el while... Usa un poco mas tu materia gris y veras la solucion... xP, te la puedo decir y muchos podran hacerlo pero a mi criterio será mejor que solo te guie. Sangrientas Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
hervasiop12345
Desconectado
Mensajes: 36
|
A ver si te crees que lo he puesto tal cual. #include<string> #include<iostream> using namespace std; int main(){ char comando; while(comando != '\n'){ cin>>comando; cout<<comando<<endl; } return 0; }
y por mucho que pulse enter no funca
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Para leer caracteres hasta alcanzar uno en particular puedes utilizar la funcion "getline" con dos argumentos (el tercero se toma como '\n') o tres (si quieres leer hasta algun otro caracter). Por ejemplo: #include <iostream> using std::cin; using std::cout; using std::endl; using std::getline; #include <string> using std::string; int main() { string linea; char delim = '\n'; getline(cin, linea, delim); cout << "La linea es " << '\"' << linea << '\"' << endl; return 0; }
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
Aquí un ejemplo sin el uso de char y puro String: #include <iostream> #include <string> using namespace std; int main() { string s; do { getline(cin, s); cout << s << endl; } while (s.find('\t') == string::npos); return 0; }
saludos
|
|
« Última modificación: 22 Noviembre 2011, 17:07 pm por RyogiShiki »
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
que cosa! que COÑASO!? quien dice que mi codigo no funciona @rir3760 En mi codigo escribi solo la funcion main, daba por hecho que hibas a hacer tu las declaraciones! y pongo el codigo completo para que vean que SI FUNCIONA #include <iostream> using namespace std; int main() { char comando; while(comando != 'a') { cin>>comando; } return 0; }
el codigo lee y sale del bucle si detecta la letra "a" y un enter
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
quien dice que mi codigo no funciona El creador del tema ( hervasiop12345 ), el comentario de BlackZeroX (Astaroth) fue en la linea por supuesto no funcionara si se copia tal cual ya que se deben hacer los cambios pertinentes .... @rir3760 En mi codigo escribi solo la funcion main, daba por hecho que hibas a hacer tu las declaraciones! Honestamente no entiendo a que te refieres. y pongo el codigo completo para que vean que SI FUNCIONA Si funciona (tal cual) pero se debe recordar que al utilizar el objeto cin en su forma predeterminada para leer un caracter: char ch; cin >> ch;
Se descarta el espacio blanco (espacio, tabulador, avance de linea, etc.). Primero hay que cambiar el comportamiento del objeto para que no lo ignore (en este momento no recuerdo pero me parece es con un manipulador). Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
El creador del tema ( hervasiop12345 ), el comentario de BlackZeroX (Astaroth) fue en la linea por supuesto no funcionara si se copia tal cual ya que se deben hacer los cambios pertinentes .... Honestamente no entiendo a que te refieres. Si funciona (tal cual) pero se debe recordar que al utilizar el objeto cin en su forma predeterminada para leer un caracter: char ch; cin >> ch;
Se descarta el espacio blanco (espacio, tabulador, avance de linea, etc.). Primero hay que cambiar el comportamiento del objeto para que no lo ignore (en este momento no recuerdo pero me parece es con un manipulador). Un saludo lo siento bro, hice asi rapido el tema y no me fije, me confundi y bueno respondiendo a lo que dices, si el codigo necesita ser modificado segun las necesidades que uno tenga no? pero para los que decian que no funcionaba. me extraña que BlackZeroX (Astaroth) estaba confirmando que no funcionaba osea estaba de acuerdo con el creador del tema que el, seguramente ni habia agregado las declaraciones...
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Caracteres especiales
PHP
|
chicuela66
|
2
|
2,667
|
12 Enero 2007, 14:25 pm
por 5n4K3
|
|
|
caracteres especiales
Scripting
|
flony
|
0
|
2,292
|
1 Junio 2010, 03:27 am
por flony
|
|
|
Alguien sabe buscar palabra de x caracteres y los demás caracteres a continuació
Programación Visual Basic
|
usuario oculto
|
3
|
5,006
|
2 Agosto 2010, 18:36 pm
por Psyke1
|
|
|
Retorno de carro
Hacking Wireless
|
dss76
|
1
|
2,324
|
28 Agosto 2010, 15:30 pm
por laxelaxante
|
|
|
[Solucionado] Comparar un String con cada una de las partes de otro String
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Segurida
|
13
|
11,441
|
14 Mayo 2011, 18:52 pm
por Segurida
|
|