#include <stdio.h>
#include <stdlib.h>
typedef struct filedata
{
char data[100];
}data_t;
data_t * fname=NULL;
//IS AN ARRAY OF the structure filedata REQUIRED HERE
void quit()
{
printf("\nPress enter to exit");
fflush(stdin);
getchar();
}
int main()
{
char ch;
fname=(data_t *)malloc(sizeof(data_t));
FILE *fptr=NULL;
atexit(quit);
printf("Please enter the file name to read : ");
fflush(stdin);
scanf("%s",fname->data);
fptr=fopen(fname->data,"rb");
if(fptr == NULL)
{
perror("Could not open the file ");
return;
}
printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
printf("Contents of the file %s are : ",fname->data);
while(fread(&fname, sizeof(data_t), 1,fptr) == 1)
{
// what do I put here?
}
fclose(fptr);
return 0;
}
Я хочу прочитать любой двоичный файл, содержащий текст или цифры в нем, на моем компьютере и отобразить его на стандартном выводе.
Как мне это сделать?
Должен ли яобъявить массив данных структурного файла, например data_t data[100]
?
Что я должен поместить в цикл while выше для отображения содержимого?
Пример: конечноесли я знаю атрибуты внутри структуры, такие как имя, возраст и т. д., я могу сделать что-то вроде
while ( fread ( &e, sizeof ( e ), 1, fp ) == 1 )
printf ( "\n%s %d %f", e.name, e.age, e.bs ) ;
Но как мне прочитать любое текстовое содержимое любого двоичного файла и отобразить его на стандартный вывод?