• Viernes 29 de Marzo de 2024, 06:06

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.


Mensajes - joaquinrg

Páginas: [1] 2
1
C/C++ / Re: Fucion Que Calcula Tamaño De Fichero
« en: Martes 6 de Diciembre de 2005, 22:00 »
gracias, me imagino q esto es lo q decias:

      fseek(fichero, 0, SEEK_END); /* Colocar el cursor al final del fichero */   
      tamano = ftell(fichero); /* Tamaño en bytes*/

2
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

3
C/C++ / Re: Separar Los Bytes De Un Long Int
« en: Domingo 16 de Octubre de 2005, 12:59 »
Muchas gracias por las respuesta, la primera forma no se me habio ocurrido, y la segunda una cosa nueva que aprendo

4
C/C++ / Re: Separar Los Bytes De Un Long Int
« en: Sábado 15 de Octubre de 2005, 19:20 »
Bueno, me respondo a mi mismo, al final lo he conseguido de esta forma, aunque me imagino q habra mil formas mejores...

BYTE tabla[2]
unsigned long int res;
res=FuncionQueDevuelveUnsLongInt()

printf("Res: %lx\n", res);
tabla[0]=res;
tabla[1]=res/0xFF

5
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

6
C/C++ / Re: Modificar Archivo De Texto
« en: Martes 28 de Junio de 2005, 23:52 »
es verda... deberia haber pensao mas... muchas gracias, no entendi bien el man de fseek

7
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

8
C/C++ / Re: Fork()... Crear Un Proceso, ¿en Una Ventana?
« en: Jueves 12 de Mayo de 2005, 19:21 »
hola, muchas gracias. Al final me dijo el profesor que iba a ser un poco complicado y que no lo hiciera, lo dejo pa cuando entonces pa cuando aprendamos mas...

9
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

10
C/C++ / Re: Leer Numeros, No Scanf
« en: Lunes 2 de Mayo de 2005, 16:11 »
gracias, es que hace mucho que no vengo por aqui y no me habia fijado

11
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

12
C/C++ / Re: Usar La Libreria Conio.h En Visual C++ 6
« en: Lunes 28 de Junio de 2004, 13:16 »
jaja, gracias... me parece q mejor cambio de compilador

13
C/C++ / Re: Usar La Libreria Conio.h En Visual C++ 6
« en: Domingo 27 de Junio de 2004, 21:50 »
Muchas gracias, pero si no se puede usar gotoxy en un compilador tan conocido como el visual c++ 6 tendra que haber alguna funcion parecida,no? Manda tela que tenga q cambiar de compilador de c para pasar un programa de pascal q usa la funcion gotoxy a uno de c

14
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

15
C/C++ / Re: Funcion Para Devolver La Fecha
« en: Martes 8 de Junio de 2004, 15:11 »
muchas gracias, era lo q estaba buscando

16
C/C++ / Re: Recursividad
« en: Lunes 7 de Junio de 2004, 22:38 »
hola, yo estoy en primero de informatica... y para el examen de dentro de un par de dias entra eso de eliminar la recursivida... ahora mismo no tengo ni idea de como va, si dentro de un par de dias me entero lo pondre, se que es un metodo general tambien, pero aun no me lo he estudiao ... es el ultmo tema...

como ejemplo nos pusieron el de las torres de hanoi... el profesor le quito la recursivida en 5 minutos, pero yo puedo estar toda la tarde y no conseguirlo

17
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

18
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

19
Pascal / Re: Devolver el numero de dígitos
« en: Martes 6 de Enero de 2004, 17:18 »
y el codigo del juego de las cadenas?? xD

20
Pascal / Re: Devolver el numero de dígitos
« en: Lunes 5 de Enero de 2004, 16:14 »
jaja, esto que es telepascal?? yo necesito el codigo del juego de las cadenas, al ser posible para mañnana.
amos q por lo menos lo podias intentar y poner el codigo pa q la gente te ayude en las partes q no funcionan

21
Pascal / serpiente
« en: Domingo 26 de Octubre de 2003, 12:48 »
Perdonar, ya lo consegui, me falto probar mas cosas.
 
Código: Text
  1.  
  2. program Serpiente;
  3. uses crt;
  4.  
  5. var
  6. a, b, i: integer;
  7. k: char;
  8.  
  9. begin
  10.     clrscr;
  11.     a:= 20;
  12.     b:= 20;
  13.     gotoxy (a,b);writeln ('O');
  14.     for i:=0 to 5 do
  15.         begin
  16.         k:=readkey;
  17.         repeat
  18.             delay(8000);
  19.             gotoxy (a,b); writeln (' ');
  20.             if k='a' then
  21.                 begin
  22.                 a:=a-1;
  23.                 end;
  24.             if k='s' then
  25.                 begin
  26.                 b:=b+1;
  27.                 end;
  28.             if k='d' then
  29.                 begin
  30.                 a:=a+1;
  31.                 end;
  32.             if k='w' then
  33.                 begin
  34.                 b:=b-1;
  35.                 end;
  36.  
  37.             gotoxy (a,b); writeln ('O');
  38.         until keypressed
  39.         end;
  40. end.
  41.  

22
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

23
C/C++ / sobre un tutorial de chuidiang
« en: Domingo 5 de Octubre de 2003, 13:22 »
solucionado, en vez de poner sockaddr_in habia q poner solo sockaddr

24
C/C++ / Re: sobre un tutorial de chuidiang
« en: Domingo 5 de Octubre de 2003, 13:01 »
bueno, me confundio, no es el de chuidiang,  pero ahora lo comparo con el suyo a ver si encuentro cual es el error

25
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

Páginas: [1] 2