Печать данных в файл произвольного доступа - C (СИ)
Формулировка задачи:
Всем доброго времени суток. Столкнулся с такой проблемой.
В теории при компилировании и запуске вышенаписанной программы должно выводится число 228, но выводится буквы "д", а ей таблице ascii соответствует этот номер.Вопрос Почему? И что делать если я например хочу вывести число, а не символ
#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(); }
Решение задачи: «Печать данных в файл произвольного доступа»
textual
Листинг программы
for (lol=1; lol<=100; ++lol) fprintf(cptr,"%d ",inf.num);
Объяснение кода листинга программы
В данном коде выполняется следующий алгоритм:
- Создается файловый указатель
cptr
, который ссылается на файл для записи данных. - Задается условие цикла
for
, которое выполняется 100 раз. - Внутри цикла происходит вызов функции
fprintf(cptr,
%d,inf.num)
, которая записывает в файл значение переменнойinf.num
и пробел. - После выполнения цикла файловый указатель
cptr
закрывается. Список: - Создание файлового указателя
cptr
- 1 - Условие цикла
for
- 2 - Вызов функции
fprintf(cptr,
%d,inf.num)
- 3 - Закрытие файлового указателя
cptr
- 4
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д