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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
231  Programación / Programación C/C++ / Re: leer caracteres de un archivo en: 7 Septiembre 2013, 18:56 pm
Saludos do-while pense que con el lseek que tengo: lseef(fd,-1,SEEK_END) el cursor ya se habia posicionado una posicion antes del fin de archivo, crei que con esto seria suficiente
232  Programación / Programación C/C++ / leer caracteres de un archivo en: 7 Septiembre 2013, 03:10 am
Saludos

Tengo el siguiente codigo que lee el primer y último carácter de un archivo de texto y los muestra en pantalla.La prueba consiste en mostrar el primer y último carácter correctamente independientemente del tamaño del archivo.

El codigo ya pude verificar que funciona para textos pequenios como: "Hola mundo" o "Tres tristes tigres tragaban trigo en un trigal", en el caso del primero me aparece primer caracter :H, ultimo caracter: o, pero si se trata de un archivo de texto un poco grande no me imprime el ultimo caracter y no entiendo por que

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4.  
  5. int main()
  6. {
  7.    FILE *fd;
  8.    int inicio,fin;
  9.    if((fd = fopen("F:\\archivo1.txt","r"))!=NULL)
  10.    {
  11.        if((inicio = fseek(fd,0,SEEK_SET)) != 0)
  12.           printf("No se pudo posicionar el cursor al inicio");
  13.        else
  14.           printf("El caracter que esta al inicio del archivo es: %c\n",fgetc(fd));
  15.        if((fin = fseek(fd,-1,SEEK_END)) != 0)
  16.           printf("No se pudo posicionar el cursor al final");
  17.        else
  18.           printf("El caracter que esta al final del archivo es: %c\n",fgetc(fd));
  19.    }
  20.    else
  21.       printf("No se pudo abrir archivo");
  22.    return 0;
  23. }
  24.  

el texto en cuestion tiene mas de 100 caracteres

de antemano gracias


233  Programación / Programación C/C++ / Re: FILE y funcion fwrite() en: 7 Septiembre 2013, 01:34 am
Si si estoy en windows

el codigo es el siguiente y la linea que me da problemas es donde esta precisamente el fwrite() por el 1

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define TAM 50
  4.  
  5. /*
  6.    Objetivo de la prueba: Leer un archivo de principio a fin leyendo  n cantidad de caracteres
  7.    y repitiendo hasta terminar de leer el archivo, este número debe ser dado por el usuario.
  8.    La prueba consiste en que no se debe mostrar basura en la pantalla al leer cualquier archivo de texto,
  9.    además la información debe mostrarse completa.
  10. */
  11.  
  12. int main()
  13. {
  14.    FILE *fo;
  15.    int cantidad;
  16.    char buffer[TAM];
  17.    if((fo = fopen("F:\\archivo_fuente.txt","r"))!=NULL)
  18.    {
  19.        printf("Dame de cuantos en cuantos caracteres leer: ");
  20.        scanf("%d",&cantidad);
  21.        while(!feof(fo))
  22.        {
  23.            fread(buffer,sizeof(char),cantidad,fo);
  24.            fflush(stdout);
  25.            fwrite(1,sizeof(char),cantidad,buffer);
  26.        }
  27.    }
  28.    else
  29.       printf("No se pudo abrir archivo");
  30.    return 0;
  31. }
  32.  

gracias
234  Programación / Programación C/C++ / FILE y funcion fwrite() en: 5 Septiembre 2013, 20:03 pm
Saludos

Tengo una duda, por que con la funcion fwrite() no puedo imprimir en pantalla?? Hay alguna alternativa para poder hacerlo?? es que cuando pongo fwrite(fo,sizeof(char),sizeof(buffer),1) me aparece que necesito un puntero a FILE en vez de 1

de antemano gracias
235  Programación / Programación C/C++ / EOF y archivos en: 4 Septiembre 2013, 21:29 pm
Saludos tengo el siguiente programa que me hace una copia de los caracteres que se encuentran en un archivo, el problema es que me imprime basura y creo que tiene que ver con que le puse EOF en el while para cuando se encuentre el fin de linea

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4.  
  5. int main()
  6. {
  7.    FILE *fo,*fd;
  8.    char buffer[50];
  9.    fo = fopen("F:\\archivo1.txt","r");
  10.    fd = fopen("F:\\archivo2.txt","w");
  11.  
  12.    if(fo == NULL || fd == NULL)
  13.       printf("Problemas al abrir archivos");
  14.    else
  15.    {
  16.        while(fread(buffer,sizeof(char),1,fo)!=EOF)
  17.            fwrite(buffer,sizeof(char),1,fd);
  18.    }
  19.    return 0;
  20. }

no se por que me imprime asi

de antemano gracias
236  Programación / Programación C/C++ / Re: arreglo de punteros y funciones en: 30 Agosto 2013, 16:25 pm
saludos rir3760 con las correcciones que hiciste ahora el programa funciona perfectamente, ahora solo me queda una duda, por ejemplo si tengo un puntero int *p;

y le quiero asignar memoria con malloc, tendria que hacer esto:

p = (int *) malloc(10*sizeof(int));

pero me pregunto por que al hacer esto, esta mal

*p = (int*) malloc(10*sizeof(int));



237  Programación / Programación C/C++ / Re: Archivos en: 30 Agosto 2013, 15:29 pm
Muchas gracias, una ultima pregunta

No hay alguna manera de que se pueda utilizar el fopen y pasar su puntero tipo *FILE a la funcion write();???? aunque sean de estandares diferentes


EI: juntando mensajes.

ya!! ya consegui que me compilara correctamente, lo unico que hice fue cambiar el write() por el fwrite() y ponerle los parametros adecuados

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4.  
  5. int main()
  6. {
  7.    FILE *fd;
  8.    char cad[]={"Hola mundo"},*ptr;
  9.    ptr = cad;
  10.    if((fd = fopen("F:\\archivo_fuente.txt","w"))!=NULL)
  11.        fwrite(ptr,1,10,fd);
  12.    else
  13.    {
  14.        printf("No se pudo abrir el archivo\n");
  15.        exit(1);
  16.    }
  17.    return 0;
  18. }
  19.  
238  Programación / Programación C/C++ / Re: Archivos en: 30 Agosto 2013, 00:10 am
saludos ahora ya por fin ya me escribe hola mundo en el archivo.txt, pero el fopen lo tuve que cambiar por un simple open, y el problema es que con el fopen yo podia crear el archivo y abrirlo al mismo tiempo, y con el open no puedo, el archivo tiene que existir de antemano para poder abrirlo

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4.  
  5. int main()
  6. {
  7.    int fd;
  8.    if((fd = open("F:\\archivo_fuente.txt",1))>0)
  9.        write(fd,"hola mundo",10);
  10.    else
  11.    {
  12.        printf("No se pudo crear el archivo\n");
  13.        exit(1);
  14.    }
  15.    return 0;
  16. }

eso es lo que no entiendo, por que con fopen() no me escribe en el archivo y con open si???

gracias
239  Programación / Programación C/C++ / Re: Archivos en: 29 Agosto 2013, 21:35 pm
saludos rir3760 todavia no he conseguido el libro pero si encontre algunos tutoriales, si es mas rapida la manera en la que tu lo hiciste pero primero tengo que empezar a trabajar con las funciones basicas, read(), open(), write, etc..

Ahora en este codigo con el fopen(), creo y a la vez abro un archivo.txt para ahi escribir la cadena hola mundo, pero por alguna razon solamente me crea el archivo pero no me escribe la cadena en el archivo.txt

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4.  
  5. int main()
  6. {
  7.    FILE *fd;
  8.    if((fd = fopen("F:\\archivo_fuente.txt","w"))!=NULL)
  9.        write(fd,"hola mundo",10);
  10.    else
  11.    {
  12.        printf("No se pudo crear el archivo\n");
  13.        exit(1);
  14.    }
  15.    return 0;
  16. }
  17.  

gracias
240  Programación / Programación C/C++ / Re: arreglo de punteros y funciones en: 29 Agosto 2013, 05:12 am
saludos Alien-Z yo pense que con:

Código
  1. *(romano+i) = (char*)malloc((strlen(B)+1)*sizeof(char));

strlen(B)+1 ya le estaba agregando el fin de cadena \0.
Páginas: 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines