|
66
|
Programación / Programación C/C++ / Re: [RETO] + Funcion Extraer Numeros de Cadenas! [Cpp/C]
|
en: 6 Enero 2012, 23:23 pm
|
@MORF: Lo he hecho con Codeblocks, que me muestra la salida de tiempo. No sé exactamente cómo calcula los tiempos (supongo que de una forma parecida a RHL, pero ni idea xD), pero ahí está. Luego, la mecánica del while () no es muy diferente de la del for (), pero depende del uso que se le vaya a dar. Generalmente, while () es más simple, pero en este caso for () es más adecuado. Por cierto, tu código es MUY parecido al mío, y tu mensaje ha sido modificado varias veces. A ver, no seamos... ¬¬ @EL_JAVA: Si somos flexibles con la descripción del reto (RETO: Funcion Extraer Valores Numericos de Cadenas) podemos entender que se imprima y ya está, pero en su sentido más extricto dice que extraigas, pero no te dice nada de mostrarlo en la salida por consola (porque podria ser en un archivo perfectamente), por lo que lo más correcto es devolver un dato del mismo tipo que procesas (char *, string, etc) pero solo con valores númericos.
Mi código (a mi parecer) es completamente válido. Yo me atengo a las reglas, si las reglas son tan flexibles...
|
|
|
67
|
Programación / Programación C/C++ / Re: Problema con sockets
|
en: 6 Enero 2012, 23:10 pm
|
http://wiki.elhacker.net/programacion/cc/articulos/introducion-a-los-sockets-en-ansi-chttp://wiki.elhacker.net/programacion/cc/articulos/introducion-a-los-sockets-en-ansi-c/Tutorial_Sockets.pdf?attredirects=0&d=1#include <sys/socket.h> #include <arpa/inet.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <signal.h> #include <time.h> int socketfd, newsocket; char *filename; void shutup (int signal) { times (); close (newsocket); close (socketfd); } int times () { struct tm *ahora; char buffer [40]; strftime (buffer , 40, "%d/%m/%Y %H:%M:%S", ahora ); return 0; } int main (int argc, char *argv []) { struct tm *ahora; char hora [40]; strftime (hora , 40, "%d/%m/%Y %H:%M:%S" , ahora ); printf ("SmallServ 2.0 : By Sagrini : Sagrini2010 : %s\n", hora ); if (getuid()!=0) { printf ("This proccess must be run by root.\n\n"); return 1; } if (argc<3) { printf ("Use: %s <PORT> <LOG>\n\n", argv [0]); return 1; } int cont; struct sockaddr_in client, host; char buffer [1024]; int size=sizeof (client); filename = argv [2]; socketfd=socket (2, 1 , 0); host.sin_family=AF_INET; host. sin_port=htons (atoi (argv [1])); host.sin_addr.s_addr=0; bind (socketfd, (struct sockaddr*)&host, sizeof(struct sockaddr)); listen (socketfd, 3); times (); signal (SIGTERM, shutup); signal (SIGINT, shutup); daemon (1, 0); while (1) { newsocket=accept (socketfd, (struct sockaddr*)&client, &size); times (); fprintf (log, "Got connection from %s:%d\n", inet_ntoa (client. sin_addr), ntohs (client. sin_port)); cont=recv (newsocket, &buffer, 1024, 0); while (cont>2) { times (); buffer [cont-1] = '\0'; fprintf (log, "RECV %d bytes: %s\n", cont -2, buffer ); cont=recv (newsocket, &buffer, 1024, 0); } times (); fprintf (log, "Finishing connection from %s:%d\n\n", inet_ntoa (client. sin_addr), ntohs (client. sin_port)); close (newsocket); } close (socketfd); return 0; }
|
|
|
68
|
Programación / Programación C/C++ / Re: [RETO] + Funcion Extraer Numeros de Cadenas! [Cpp/C]
|
en: 5 Enero 2012, 18:29 pm
|
#include <stdio.h> #include <string.h> void getnumbs (char *cadena) { int cont; for (cont=0; cont<strlen (cadena); cont++) if (cadena [cont ] >= '0' && cadena [cont ] <= '9') printf ("%c", cadena [cont ]); } int main () { getnumbs ("ewiuc3dskhd8nkd62ndsnk9"); return 0; }
sagrini@pc10-1:~/Escritorio$ nano code.c sagrini@pc10-1:~/Escritorio$ gcc -o code code.c sagrini@pc10-1:~/Escritorio$ ./code 38629juanra@pc10-1:~/Escritorio$
38629 Process returned 0 (0x0) execution time : 0.018 s Press ENTER to continue.
Al que dude que mi código no sea válido, que lea las normas jajaja Un saludo! Sagrini
|
|
|
|
|
|
|