Seleccionar una letra en una cadena de texto

Iniciado por nafhta, 26 Abril 2011, 05:14 AM

0 Miembros y 2 Visitantes están viendo este tema.

nafhta

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

<<<-Basura->>>


#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;
}

<<<--Basura-->>>

lluk

no entiendo porque pones la función:

fflush(stdin);


con todo menos eso ya tendria que funcionar no?

satu

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

Saludos
Breakbeat como forma de vida

lluk

a ok, esque por lo que ha pedido ya sin eso hace los mismo no?

Garfield07

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


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

<<<-Basura->>>

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
<<<--Basura-->>>

xassiz~

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

Revisa el punto 2.

Saludos.

<<<-Basura->>>

<<<--Basura-->>>