elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9
41  Programación / Programación C/C++ / Re: Error en programa en: 7 Septiembre 2012, 18:04 pm
Siento haber caído en cosas tan triviales  :(. Eso sí, respecto a lo de que lo imprima en ASCII, depende de la interpretación, pues yo he entendido que imprima el carácter normal, no el número, para lo que sí haría falta %d. Y aun así, el programa no me funciona. Se supone que tiene que pasar el texto por bloques a hexadecimal y ASCII. Si uso el código fuente como fichero a leer, el programa arroja esto:

Escriba la ruta del archivo: ./16-9.c
bf9a1569

Otra cosilla, respecto a lo de poner valor de retorno a main, siempre he visto que la gente suele poner "int main()" y al final de main "return 0". He leído que es para reconocer errores y cosas así, pero no entiendo cómo sacarle partido ¿Me lo podéis explicar o pasarme algún enlace con información?
42  Programación / Programación C/C++ / Error en programa en: 7 Septiembre 2012, 14:43 pm
Hola, soy yo otra vez con un error en un programa. Como siempre será algo muy básico que no he conseguido ver, pero aquí os pongo el código fuente:
Código
  1. #include <stdio.h>
  2.  
  3. main()
  4. {
  5.    FILE *fp;
  6.    int count;
  7.    char caracter="a";
  8.    char filename[40];
  9.    printf("Escriba la ruta del archivo: ");
  10.    gets(filename);
  11.    fp = fopen(filename,"r");
  12.  
  13.    while(caracter!=EOF)
  14.    {
  15.        for(count=0, (count<=280) && (caracter!=EOF), count++)
  16.        {
  17.            caracter=getc(fp);
  18.            printf("%X", caracter);
  19.        }
  20.  
  21.        printf("\n");
  22.        rewind(fp);
  23.  
  24.        for(count=0, (count<=280) && (caracter!=EOF), count++)
  25.        {
  26.            caracter=getc(fp);
  27.            printf("%c", caracter);
  28.        }
  29.  
  30.        printf("\n");
  31.    }
  32. }

La idea es que se imprima un archivo en bloques de 280 caracteres en hexadecimal y en ASCII. La verdad es que ni yo mismo creo que este bien hecho de esta manera para imprimir en hexadecimal, pero bueno... Aquí os lo dejo. Espero vuestras correcciones y consejos.

Saludos.
43  Programación / Programación C/C++ / Re: [Duda] Impresion stdprn en: 6 Septiembre 2012, 14:26 pm
Gracias.
44  Programación / Programación C/C++ / Re: [Duda] Impresion stdprn en: 6 Septiembre 2012, 12:30 pm
Gracias por las respuestas, me sirvieron un montón.
Eso sí, ¿para qué sirve la función toupper()?
Otra cosilla, yo había puesto un operador de bit(&), ¿no?

Saludos.
45  Programación / Programación C/C++ / Re: [Duda] Impresion stdprn en: 5 Septiembre 2012, 19:11 pm
Ok, vamos, que está dificilillo, aunque la idea era que fuera para texto plano.

Bueno, ya que he abierto un tema, hago otra pregunta ¿Qué fallo tiene este código?

Código
  1. /* Copia de archivo de texto cambiando minúsculas por mayúsculas. */
  2.  
  3. #include <stdio.h>
  4.  
  5. FILE copia_mayus(FILE *fp, FILE *fp_nuevo);
  6.  
  7. main()
  8. {
  9.      char filename[40], filename_nuevo[40];
  10.      char contenido[200];
  11.      FILE *fp, *fp_nuevo;
  12.  
  13.      printf("Introduce la ruta del archivo a copiar: ");
  14.      gets(filename);
  15.      printf("Introduce la ruta del archivo nuevo: ");
  16.      fp=fopen(filename,"r");
  17.      fp_nuevo=fopen(filename_nuevo,"w");
  18.  
  19.      fp_nuevo=copia_mayus(fp, fp_nuevo);
  20.      fgets(contenido, 200, fp);
  21.      fprintf(stdout,"%s",contenido);
  22. }
  23.  
  24. FILE copia_mayus(FILE *fp, FILE *fp_nuevo)
  25. {
  26.     char caracter;
  27.  
  28.     while(caracter!=EOF)
  29.     {
  30.         caracter=fgetc(fp);
  31.  
  32.         if((caracter=>61)&(caracter=<121))
  33.         {
  34.             fprintf(fp_nuevo, "%c", caracter-32);
  35.         }
  36.         else
  37.         {
  38.             fprintf(fp_nuevo, "%c", caracter);
  39.         }
  40.     }
  41.     return fp_nuevo;
  42.     fclose(fp_nuevo);
  43. }
  44.  

Me dice que hay un error al asignar los tipos (cuando asigno el valor de retorno de mi función personalizada a fp_nuevo, dice que no son compatibles).
46  Programación / Programación C/C++ / Re: [Duda] Impresion stdprn en: 5 Septiembre 2012, 18:47 pm
He estado pensando y creo que sería fácil si conociera cuántos caracteres caben en una línea de un fóleo DIN A4. Creo que ese valor sería la clave ¿Alguna idea?
47  Programación / Programación C/C++ / [Duda] Impresion stdprn en: 5 Septiembre 2012, 18:18 pm
Hola.
¿Cómo puedo limitar el número de líneas por página al imprimir un archivo por stdprn? Tengo que imprimir un archivo por la impresora poniendo solo 55 líneas por página. Ya sé que se pueden pasar los archivos a la impresora con fprintf, previamente cogiendo todos los caracteres del archivo con fgets(yo por lo menos, lo hago así). Así que la cuestión es solo la antes planteada, pero si me pasáis un código completo que me pueda servir para aprender, pues mejor.

Saludos.
48  Programación / Programación C/C++ / Re: Flujo stderr [Duda] en: 3 Septiembre 2012, 20:18 pm
Gracias a los dos por vuestras respuestas. Ahora lo entiendo perfectamente.
49  Programación / Programación C/C++ / Re: Flujo stderr [Duda] en: 31 Agosto 2012, 19:02 pm
Gracias por la respuesta, pero, ¿usando el flujo stdout no iría el error también a la terminal?

Saludos.
50  Programación / Programación C/C++ / Flujo stderr [Duda] en: 31 Agosto 2012, 18:32 pm
Hola.
No entiendo muy bien cuál es la utilidad del flujo stderr, ya que hace (hasta lo que he podido ver) lo mismo que stdout. Os pongo este código para explicarme mejor:
Código
  1. /* Demuestra la función remove(). */
  2.  
  3. #include <stdio.h>
  4.  
  5. main()
  6. {
  7.      char filename[80];
  8.  
  9.      printf("Enter the filename to delete: ");
  10.      gets(filename);
  11.  
  12.      if(remove(filename) == 0)
  13.          printf("The file %s has been deleted.", filename);
  14.      else
  15.          fprintf(stderr, "Error deleting the file %s.", filename);
  16. }

Lo que quiero decir es que si no se podría poner en el else la función printf, pues sería lo mismo ¿Porqué se usa fprintf con el flujo stderr si a efectos prácticos va a ser lo mismo?
Páginas: 1 2 3 4 [5] 6 7 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines