В бинарный файл ввести несколько структур и сделать с ними определенные действия - C (СИ)
Формулировка задачи:
В бинарный файл нужно ввести несколько структур и сделать с ними определенные действия.
У меня все стопорится, когда необходимо показать все записанные структуры.
Ещё вопрос, при печати данных записанных в бинарном файле они отображаются как 1 и 0 или в том виде, в каком записывались в файл?
вот код, помогите исправить то, что с номером два идет.. вылазит только непонятный восклицательный знак..
#include <stdio.h> #include <string.h> struct computers { int id; char surname[6]; }row[100]; int main() { int n,i,numread; char number=0; FILE *file; printf("\t\tMENU\n"); while (number != '4'){ printf(" \tPrint 1 for adding row\n"); printf(" \tPrint 2 for showing\n"); printf(" \tPrint 3 for searching \n"); printf(" \tPrintf 4 for exit\n"); scanf("\t\t%c", &number); FILE* fp = fopen("my_file.txt","wb"); if(number=='1') { int k; printf("How much lines do you want to add?\n"); scanf("%i", &k); FILE* fp = fopen("my_file.txt","ab"); for (i=1; i<=k; i++) {printf ("Enter id\n"); scanf ("%d", &row[i].id); printf ("Enter surname_owner\n"); scanf ("%s", &row[i].surname); fwrite(&row[i], sizeof(row),1,fp); } fclose(fp); } if (number=='2'){ rewind(fp); fp = fopen("my_file.txt","rb"); i = 0; while(!feof(fp)) { fread(&row, sizeof(row),1,fp); printf ("%s!\n", row[i].surname); i++; } } } }
Решение задачи: «В бинарный файл ввести несколько структур и сделать с ними определенные действия»
textual
Листинг программы
FILE* fp = fopen("my_file.txt","wb");
Объяснение кода листинга программы
my_file.txt
- это имя файла, который будет открыт для записи.wb
- это режим открытия файла, который указывает, что файл будет открыт для записи в двоичном формате.fp
- это переменная, которая будет использоваться для хранения дескриптора файла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д