Печать данных в файл произвольного доступа - C (СИ)

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

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

Всем доброго времени суток. Столкнулся с такой проблемой.
#include <stdio.h>
#include <conio.h>
#include <string.h>

struct aza{
    int num;
    char mas[20];
    double balance;
};
 
int main()
{
    FILE *cptr;
    struct aza inf = {228,"A",322.14};
    int lol;
    
    cptr = fopen("AZA.txt","w");
    
    getchar();
    
    for (lol=1; lol<=100; ++lol)
        fwrite(&inf.num,sizeof(int),1,cptr);
    
    fclose(cptr);
    
    getchar();
}
В теории при компилировании и запуске вышенаписанной программы должно выводится число 228, но выводится буквы "д", а ей таблице ascii соответствует этот номер.Вопрос Почему? И что делать если я например хочу вывести число, а не символ

Решение задачи: «Печать данных в файл произвольного доступа»

textual
Листинг программы
    for (lol=1; lol<=100; ++lol)
        fprintf(cptr,"%d ",inf.num);

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

В данном коде выполняется следующий алгоритм:

  1. Создается файловый указатель cptr, который ссылается на файл для записи данных.
  2. Задается условие цикла for, которое выполняется 100 раз.
  3. Внутри цикла происходит вызов функции fprintf(cptr,%d ,inf.num), которая записывает в файл значение переменной inf.num и пробел.
  4. После выполнения цикла файловый указатель cptr закрывается. Список:
  5. Создание файлового указателя cptr - 1
  6. Условие цикла for - 2
  7. Вызов функции fprintf(cptr,%d ,inf.num) - 3
  8. Закрытие файлового указателя cptr - 4

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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