hola amigos del elhacker.net soy nuevo en la programacion de C y trato de hacer un programa donde declare dos cadenas una alfanumerica y luego copien en la cadena 2 solo los caracteres numericos..sin usar las funciones strlen y strncpy hasta ahora hice esto pero no me sale.. ayudaaa!!!
#include <stdio.h>
#include <stdlib.h>
int main()
{
char cad1[100];
char cad2[100];
int i,n;
printf("Introduce una palabra: ");
gets(cad1);
puts(cad1);
n=0;
i=0;
for(i=0;i<=99;i++)
{
if(cad1=='9'-'0')
{
cad2[n]=cad1;
n++;
}
}
puts(cad2);
return 0;
En C no existen listas tipo '9'-'0'. De hecho eso es una operación matemática que da como resultado 9. El código ASCII para '9' es 57 y el de '0' es 48, 57-48=9.
Hola
#include <stdio.h>
#include <string.h>
char copy(char *lineOut, char *lineIn);
int main()
{
char lineOut[45];
char lineIn[40] = "Tr4b4j4nd0 c0n num3r0s y l3tr4s";
copy(lineOut, lineIn);
printf("%s\n", lineOut);
return 0;
}
char copy(char *lineOut, char *lineIn)
{
int i = 0;
int j = 0;
char *pline = lineOut;
while(*(lineIn + i) != '\0')
{
if(*(lineIn + i) >= 48 && *(lineIn + i) <= 57)
*(lineOut +j++) = *(lineIn + i);
i++;
}
return *pline;
}
Espero que te sirva. Suerte!
No olvidar poner el '\0' final al string destino.