Buenas Quisiera saber como puedo seleccionar una letra determinada en una cadena de texto en C
por ej,
murcielago
y quiero seleccionar la letra numero 3 que seria la "r"
por favor en C
muchas gracias
#include <stdio.h>
#include <string.h>
char palabra[]="Murcielago";
int main(){
int a;
printf("| %s | \n",palabra);
printf("Que letra quiere seleccionar: ");
scanf("%d",&a);
fflush(stdin);
printf("%c",palabra[a-1]);
getchar();
fflush(stdin);
return 0;
}
no entiendo porque pones la función:
fflush(stdin);
con todo menos eso ya tendria que funcionar no?
Hola
Está desaconsejado utilizar
fflush(stdin);
porque puede dar problemas, al igual que las variables globales. Si no lo pone funciona aunque es mejor no ponerlo.
https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html (https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html)
Saludos
a ok, esque por lo que ha pedido ya sin eso hace los mismo no?
En definitiva:
#include <stdio.h>
#include <string.h>
int main (int argc, char *argv [])
{
printf ("Code 0.1 : Sagrini 2011 : elhacker.NET\n");
if (argc != 3)
{
printf ("[!!!] Use: %s <word> <number>\n\n", argv [0]);
return 1;
}
if (atoi (argv [2]) > strlen (argv [1]))
{
printf ("[!!!] Number %d is too long.\n\n", atoi (argv [2]));
return 1;
}
printf ("Leter number %d of %s: %c.\n\n", atoi (argv [2]), argv [1], argv [1][atoi (argv [2])-1]);
return 0;
}
sagrini@sagrini:~/Escritorio$ gcc -o code code.c
sagrini@sagrini:~/Escritorio$ ./code
code 0.1 : Sagrini 2011 : elhacker.NET
[!!!] Use: ./code <word> <number>
sagrini@sagrini:~/Escritorio$ ./code word
code 0.1 : Sagrini 2011 : elhacker.NET
[!!!] Use: ./code <word> <number>
sagrini@sagrini:~/Escritorio$ ./code word 7
code 0.1 : Sagrini 2011 : elhacker.NET
[!!!] Number 7 is too long.
sagrini@sagrini:~/Escritorio$ ./code word 2
code 0.1 : Sagrini 2011 : elhacker.NET
Leter number 2 of word: o.
sagrini@sagrini:~/Escritorio$
Un saludo. Sagrini
fflush(stdin);
este lo uso para liberar el buffer, cada vez que pidas al usario algo en el teclado, puede que algo quede hay sobrando entonces con esa funcion se libera
Cita de: rasielunderwar en 26 Abril 2011, 23:26 PM
fflush(stdin);
este lo uso para liberar el buffer, cada vez que pidas al usario algo en el teclado, puede que algo quede hay sobrando entonces con esa funcion se libera
http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html)
Revisa el punto
2.
Saludos.
Me gusta la Solucion ;) Suerte...