FILE y funcion fwrite()

Iniciado por m@o_614, 5 Septiembre 2013, 20:03 PM

0 Miembros y 1 Visitante están viendo este tema.

m@o_614

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

Eternal Idol

¿Estas en Windows? Usa stdout (siempre).
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

m@o_614

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

#include <stdio.h>
#include <stdlib.h>
#define TAM 50

/*
   Objetivo de la prueba: Leer un archivo de principio a fin leyendo  n cantidad de caracteres
   y repitiendo hasta terminar de leer el archivo, este número debe ser dado por el usuario.
   La prueba consiste en que no se debe mostrar basura en la pantalla al leer cualquier archivo de texto,
   además la información debe mostrarse completa.
*/

int main()
{
    FILE *fo;
    int cantidad;
    char buffer[TAM];
    if((fo = fopen("F:\\archivo_fuente.txt","r"))!=NULL)
    {
        printf("Dame de cuantos en cuantos caracteres leer: ");
        scanf("%d",&cantidad);
        while(!feof(fo))
        {
            fread(buffer,sizeof(char),cantidad,fo);
            fflush(stdout);
            fwrite(1,sizeof(char),cantidad,buffer);
        }
    }
    else
       printf("No se pudo abrir archivo");
    return 0;
}


gracias

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón