elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Comando personalizado que limpie pantalla
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Comando personalizado que limpie pantalla  (Leído 3,952 veces)
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Comando personalizado que limpie pantalla
« Respuesta #10 en: 10 Septiembre 2014, 17:59 pm »

Adjunté el fuente del programa que fue hecho por el profesor en el aula; el reto es ahora que cuando elijamos una de las opciones dentro de la corrida del programa, ignore los espacios en banco.
No es mi intención desanimarte pero ese programa como C++ deja mucho que desear, de los problemas el mas importante es el uso de gets, mas información en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

En cuanto a ignorar espacios antes y después de la palabra la forma mas fácil es sustituyendo la llamada a gets por scanf:
Código
  1. printf(">> ");
  2. scanf("%s", cadena);
Esto porque al utilizar "%s" con scanf se lee una palabra ignorando el espacio blanco (espacio, tabulador, etc.) al principio de la linea.

Sin embargo scanf con "%s" adolece del mismo problema que gets: el programa puede reventar si los caracteres leídos sobrepasan la capacidad del array, una forma mejor es bien utilizar "%Ns" donde N es el numero (menos uno) de caracteres que puede almacenar el array o bien utilizar fgets para leer una linea junto con sscanf para extraer la palabra.

Puedes revisar ejemplos de esas funciones mediante el motor de búsqueda de los foros.

----

Sin embargo lo políticamente correcto si quieres aprender C++ es utilizar su biblioteca estándar empezando con la clase string y los operadores ">>" y "<<".

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
el_lujo

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Comando personalizado que limpie pantalla
« Respuesta #11 en: 10 Septiembre 2014, 18:28 pm »

Gracias, rir3760. Exactamente eso es lo que quería comprender.

Igualmente tomaré tiempo para lee el tema: |Lo que no hay que hacer en C/C++. Nivel basico|.

Mil gracias.


En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines