• Viernes 19 de Abril de 2024, 21:39

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - joaquinrg

Páginas: [1]
1
C/C++ / Fucion Que Calcula Tamaño De Fichero
« en: Martes 6 de Diciembre de 2005, 11:51 »
Hola, una preguntilla... existe alguna funcion estandard que calcule el tamaño en bytes de un fichero? Gracias

2
C/C++ / Separar Los Bytes De Un Long Int
« en: Sábado 15 de Octubre de 2005, 18:48 »
Hola, q tal? no se como hacer esto, a ver si me podeis ayudar. Tengo un unsigned long int, que son 4 bytes,no? y me gustaria meter cada byte en la casilla de una tabla BYTE tabla[4]. Como puedo acceder a cada byte del unsigned long int? lo unico que se me habia ocurrido es esto, pero no va:

Código: Text
  1.  
  2. BYTE tabla[4]
  3. unsigned long int res;
  4. res=FuncionQueDevuelveUnsLongInt()
  5.  
  6. printf("Res: %lx\n", res);
  7. tabla[0]=res;
  8. tabla[1]=*(&res+sizeof(BYTE));
  9. ....
  10.  
  11.  

pero luego la unica casilla que tiene algun byte como lo imprime el printf es tabla[0], que contiene el ultimo byte de res.

No se si me he explicado muy bien. Gracias de antemano

3
C/C++ / Modificar Archivo De Texto
« en: Martes 28 de Junio de 2005, 22:20 »
Hola, q tal? llevo unas horas pensando esto y no se me ocurre nada, a ver si vosotros sabeis alguna forma. El tema es que tengo un archivo de texto, visible desde el bloc de notas, con la siguiente estructura:

javier, 24
manuel, 30
maria, 20
...
ana, 10


Me gustaria poder abrir el fichero desde el programa en c, y modificar por ejemplo la linea "maria, 20" y cambiarla por "maria, 45". Se puede? El problema es que necesito que el archvo se vea desde el bloc de notas, que no sea binario, entonces no puedo usar fseek y ftell para situarme en "maria, 20" y modificar la linea. Es posible escribir en un archivo en la linea q elijamos, sin q el archivo sea binario? Gracias

4
C/C++ / Fork()... Crear Un Proceso, ¿en Una Ventana?
« en: Sábado 7 de Mayo de 2005, 10:56 »
Hola, q tal? no si esto es posible, pero quedaria bien en el programa. Estamos haciendo un interprete de comandos para linux, donde el usuario mete los comandos y nosotros creamos procesos hijos con fork para ejecutarlos. Ahora estamos implementando un chat para comunicarnos a traves de mensajes entrelos diferentes interpretes. Hasta ahora cada interprete (en cada ventanita) escribe su mensaje y lo manda a la cola de mensajes, y cada 2 segundos se leen los mensajes de la cola en la misma ventana donde escribimos. Quedaria mejor si pudieramos abrir una nueva ventana donde unicamente se leyeran los mensajes de la cola que han ido mandando todos los interpretes, asi en cada interprete solo se ven los mensajes que cada uno escibe y en la ventana nueva se leen los de todos los interpretes. Esto se puede hacer? puedo crear un proceso con fork que se habra en una ventana nueva? he estado buscando en google y no he visto nada... a ver si alguien sabe... gracias

5
C/C++ / Leer Numeros, No Scanf
« en: Lunes 2 de Mayo de 2005, 14:33 »
Hola, q tal? me gustaria saber si hay alguna funcion en c que me perimita leer enteros por teclado que no sea scanf. Hasta ahora estoy utilizando :

                char resputa[3];
                int entero;
      fgets(respuesta, 3, stdin);
      entero=atoi(respuesta);

Pero no me funciona bien, xq cuando intrduzco un numero negativo atoi lo convierte al entero 0, y necesito distinguirl el 0 de los numero negativos...No puedo usar la funcion scanf, q seria la buena.... Hay otra forma? MUchas gracias

6
C/C++ / Re: Usar La Libreria Conio.h En Visual C++ 6
« en: Domingo 27 de Junio de 2004, 15:52 »
Hola, q tal? Necesto usar la funcion gotoxy en un programa. Pero en visual c++ 6 no me la reconoce.

Código: Text
  1.  
  2. #include <conio.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6. int main()
  7. {
  8.      gotoxy (5,5);
  9.      printf ("hola");
  10. }
  11.  
  12.  

error C2065: 'gotoxy' : undeclared identifier

En el compilador Devcpp si la podia usar despues de leer un faq q vi en internet, pero ahora no he encontrado nada para usar las funciones de conio.h en visual c++, alguien sabe? Gracias

7
C/C++ / Funcion Para Devolver La Fecha
« en: Lunes 7 de Junio de 2004, 22:14 »
Hola, q tal? pues eso, he estao buscando alguna funcion que devuelva la fecha actual, conoceis alguna? Gracias

8
C/C++ / Funcion En C Para ...
« en: Martes 20 de Abril de 2004, 22:41 »
Hola, buenas tarde. Una pregunta de c. Sabeis de alguna funcion que sirva para almacenar lo que imprime una función en una variable o en un archivo? Me explico, tengo una funcion que solo puede devolver ok o error, pero si devuelve error, antes de salir de la funcion esta imprime un mensaje de error por pantalla. Bien, pues ahora necesito que cuando la funcion devuelva error, poder almacenar el mensaje que se escribe en la pantalla en una variable. La funcion no la puedo cambiar, no le puedo pasar como parametro un puntero para q apunte al mensaje de error. Muchas gracias

9
Pascal / Re: serpiente
« en: Domingo 26 de Octubre de 2003, 10:39 »
Hola, q tal? queria hacer una especie de serpinte :
 
Código: Text
  1. program Serpiente;
  2. uses crt;
  3.  
  4. var
  5. a, b, i: integer;
  6. k: char;
  7.  
  8. begin
  9. clrscr;
  10. a:= 20;
  11. b:= 20;
  12. gotoxy (a,b);writeln ('O');
  13. k:=readkey;
  14. repeat
  15. delay(8000);
  16. gotoxy (a,b); writeln (' ');
  17. if k='a' then
  18.         begin
  19.         a:=a-1;
  20.         end;
  21. if k='s' then
  22.         begin
  23.         b:=b+1;
  24.         end;
  25. if k='d' then
  26.         begin
  27.         a:=a+1;
  28.         end;
  29. if k='w' then
  30.         begin
  31.         b:=b-1;
  32.         end;
  33.  
  34. gotoxy (a,b); writeln ('O');
  35. until keypressed
  36. end.
  37.  
  38.  

No se como hacer q al pulsar una tecla cambie de direccion. Xq si uso todo el rato readkey... tengo q pulsar cada vez antes de moverse. Y si uso la funcion keypressed, para hacer lo de arriba mientras no se pulsa ninguna tecla, despues habria que pulsar otra tecla para ver hacia q lado va ahora,no? Hay alguna forma de saber con la funcion keypressed la tecla q se ha pulsado? Gracias

10
C/C++ / Re: sobre un tutorial de chuidiang
« en: Sábado 4 de Octubre de 2003, 13:57 »
Hola, q tal? despues de compilar el codigo de ejemplo del programa cliente/servidor del primero tutorial... me compila bien el cliente, pero el servidor no. Este es el codigo:
 
Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <sys/types.h>
  4. #include <sys/socket.h>
  5. #include <netinet/in.h>
  6. #include <netdb.h>
  7.  
  8. #include <sys/param.h>  
  9. #include <errno.h>
  10.  
  11. #define ERROR(s)       {fprintf(stderr,"%d-",errno); perror(s); return(-1);}
  12.  
  13. main (argc, argv)
  14. int argc;
  15. char *argv[];
  16. {
  17.     struct sockaddr_in sa;  
  18.     struct sockaddr_in caller;
  19.     int s, msgsock, length;
  20.     int retval;
  21.     char buf[BUFSIZ], acknowledgement[BUFSIZ];
  22.  
  23.  
  24.  
  25.     if ((s = socket(AF_INET,SOCK_STREAM,0)) < 0)  
  26.         ERROR ("socket");
  27.  
  28.     /* name socket, register the socket */
  29.     sa.sin_family= AF_INET;        
  30.     sa.sin_addr.s_addr = INADDR_ANY;       /* not choosy about who calls */
  31.         sa.sin_port= 22222;                   /* this is our port number */
  32.  
  33.         if (bind(s,(struct sockaddr_in *)&sa,sizeof sa) < 0)
  34.                 ERROR ("bind");                 /* bind address to socket */
  35.  
  36.     /* get assigned port number and print it */
  37.     length = sizeof(sa);
  38.         if (getsockname(s, (struct sockaddr_in *)&sa, &length) < 0)
  39.                 ERROR("getsockname");
  40.  
  41.  
  42.  
  43.     /* listen for connections on a socket */
  44.     listen (s, 5);
  45.  
  46.     /* Use accept to wait for calls to the socket.  Accept returns
  47.     a new socket which is connected to the caller.  msgsock will be a
  48.         temporary (non-resuable) socket different from s */
  49.     if ((msgsock = accept(s,(struct sockaddr *)&caller,&length)) < 0)
  50.             ERROR ("accept");
  51.  
  52.      /* optional ack; demonstrates bidirectionality */
  53.     gethostname(buf, sizeof buf);
  54.  
  55.     /* write into the msgsock; the "s" is _only_for_rendezvous_ */
  56.     if ( write ( msgsock, acknowledgement, sizeof acknowledgement ) < 1 )
  57.         perror(argv[0]);
  58.  
  59.  
  60.     /* read lines until the stream closes */
  61.  
  62.     retval = 1;
  63.     while(retval !=0 )  {
  64.         bzero(buf, sizeof(buf));
  65.         if( (retval = read(msgsock, buf, sizeof(buf))) < 0)
  66.                 perror("reading stream message");
  67.     if (retval == 0) printf("ending connectionn");
  68.         else  printf("read-->%sn", buf);
  69.      }
  70.  
  71.     close(msgsock);
  72.     close (s);
  73.  
  74.     exit (0);
  75. }
  76.  
  77.  

El error que me da es este:
 
Código: Text
  1.  
  2. $ gcc server.c -o server
  3. server.c: In function `main':
  4. server.c:33: warning: passing arg 2 of `bind' from incompatible pointer type
  5. server.c:38: warning: passing arg 2 of `getsockname' from incompatible pointer t
  6. ype
  7.  
  8.  
Sabeis porque puede ser? Gracias

11
C/C++ / Re: enviar email en c
« en: Martes 23 de Septiembre de 2003, 23:34 »
Hola, q tal? Hay alguna forma de enviar email en c? habia pensado en hacerlo usando telnet, con lo de:
telnet mail.hotmail.com 25
helo
...

Entonces el tema era escribir todos los comandos que hay q meter para enviar el email en un fichero de texto y despues hacer algo como lo que hace fpt con el comando ftp -s: filename, es decir ir ejecuntando los comandos que estan escritos en el fichero. Lo q pasa q no he encontrado ninguna forma de hacer esto con telnet, es posible? gracias

12
C/C++ / Re: troyano c (server-client)
« en: Martes 23 de Septiembre de 2003, 21:54 »
Hola, q tal? Alguien ha visto por ahi algun tutorial sobre como programar un pequeño troyano en c? lo he visto en vb pero no en c. Hace poco aprendi algo de programar con sockets programas cliente/servidor. Hice un programa que ejecutaba el comando q escribieras (en el cliente) en el server, pero no se como ver  el resultado de dicho comando en el cliente. Me dijeron q tengo q utilizar pipes o algo asi, pero no he encontrado informacion buena para windows. Alguien tiene algo? Gracias

13
C/C++ / Re: system("comando") a variable
« en: Sábado 30 de Agosto de 2003, 18:53 »
Hola, q tal? Mi pregunta es si se puede pasar el resultado de un comando a una variable. Por ejemplo meter en una variable system("dir");

Si hago :

int variable;
system("dir")>>variable;

en variable se almacena un numero. Q significa ese numero? Hay alguna forma de hacer esto? Gracias

14
C/C++ / Re: gets(cadena) de otra manera
« en: Sábado 30 de Agosto de 2003, 13:46 »
Hola , q tal? llevo un rato pensando como puedo conseguir lo mismo que usando gets(cadena) pero sin usar gets. Quiero introducir una cadena con espacios. Lo mas cerca que me he quedao es esto:

char cadena[40];
int i=0;

do
{
cadena[ i ] =getchar();
i++;
}while (cadena[i-1] != 'n');
printf ("%sn", cadena);

pero muchas veces me salen caracteres extraños al final...
Se podria hacer con scanf??
Gracias

Páginas: [1]