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
¿Estas en Windows? Usa stdout (siempre).
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
El primer parametro es un puntero (el buffer):
http://www.cplusplus.com/reference/cstdio/fwrite/