Открытие файла в бинарном режиме - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Есть задание (подробности не имею значения), нужно сделать в текстовом и бинарном режимах. В текстовом получилось, а вот с бинарным проблемы. Что не так?
#include <stdio.h>
#include <stdlib.h>
 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
 
int main(int argc, char *argv[]) {
    const char fname[20]="abc.txt";
    int x, y;
    typedef struct {
        char player[20];
        char goals[20]; 
        char assists[20]; 
        char cards[20]; 
    }
    football;
    football A[100];
    printf("Number of players: ");
    scanf("%d",&y);
    FILE *fp;
//  fp=fopen(fname, "w");
    fp=fopen(fname,"wb");
    if (fp != NULL) {
//  for (x=0; i<y;x++) {
        printf("\nPlayers surname: ");
        scanf("%s", &A[x].player);
        printf("Number of goals: ");
        scanf("%s", &A[x].goals);
        printf("Number of assists: ");
        scanf("%s", &A[x].assists);
        printf("Number of cards:");
        scanf("%s", &A[x].cards);
        fwrite(A,sizeof(football),50,fp);
        //fprintf(fp,"%s %s %s %s\n\n", A[x].player, A[x].goals, A[x].assists, A[x].cards);
            }
            fclose(fp);
    return 0;
}

Решение задачи: «Открытие файла в бинарном режиме»

textual
Листинг программы
//  while (!feof(fp)) {
//      fscanf(fp, "%s %s %s %s\n", A[z].player , A[z].goals, A[z].assists , A[z].cards); z++;}

Объяснение кода листинга программы

  1. Открытие файла в бинарном режиме.
  2. Чтение данных из файла до тех пор, пока не достигнут конец файла (feof).
  3. Форматированный ввод данных из файла с помощью функции fscanf.
  4. Заполнение структур данных с помощью полученных из файла значений.
  5. Увеличение индекса для перехода к следующей записи в файле.
  6. Передача данных из файла в структуру данных.
  7. Чтение строки из файла с помощью функции fscanf.
  8. Разделение строки на отдельные элементы с помощью функции strtok.
  9. Передача отдельных элементов в соответствующие поля структуры данных.
  10. Закрытие файла после окончания чтения.

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы