WriteLn(name,ReportLine);
Ввод-вывод - файлы
Программа: логические файлы
Операционная и файловая системы: физические файлы
C:\Univ\Reports\2009\Пересдача.txt
LPT:
CON:
Ввод-вывод - файлы
Программа: логические файлы
Операционная и файловая системы: физические файлы
C:\Univ\Reports\2009\Пересдача.txt
LPT:
CON:
Элементарные процедуры (Modula-2)
FWriteFloat(f, x, 6, 2);
FWriteString(f, ’ + ‘);
FWriteFloat(f, y, 6, 2);
FWriteString(f, ’ = ‘);
FWriteFloat(f, y, 7, 2);
FWriteLn(f);
Процедуры форматного вывода (C)
fprintf(f,
”%6.2f + %6.2f = %7.2f\n”,
x, y, x+y);
…
fd:
buffer:
FILE * in, * out;
in = fopen(“in.txt”, “r”);
out = fopen(“out.txt”, “w”);
char buf[N];
while ((fgets(buf,N,in)) != NULL)
fputs(buf,out);
fclose(in);
fclose(out);
fgetc вызывается большее количество раз
fgets делает анализ строки
аргументы:
fprintf(out, header_fmt, “Приход”, “Сумма”,
“Баланс”, “Сумма”,”Расход”);
while (fscanf(in,”%s%f”,
comment,&amount) == 2)
{
balance += amount;
if (amout >= 0)
fprintf(out, income_fmt,
comment, amount, balance, “”,””);
else
fprintf(out, income_fmt,
“”,””, balance, -amount, comment);
}
fclose(in);
fclose(out);
}
void WriteCenterFloat(float x, int p)
{
// xstr – текстовое предствление x
char xstr[20];
sprintf(xstr, “%f”, x);
WriteCenterString(xstr,p);
}
В файл попадёт 4 байта
Запишется всё, но...
Считаются ссылки на несуществующие объекты
void SavePerson(struct Person *p, FILE * f) Сохраняется лишнее
{
fwrite(p,1,sizeof(*p),f);
for (int i = 0; i
}
struct Person * LoadPerson(FILE * f)
{
struct Person * p;
new(p);
fread(p,1,sizeof(*p),f);
if (p->ChildrenCount > 0)
{
newarray(p->Children, p->ChildrenCount);
for (int i = 0; i
}
}
return p;
}
Предполагается отсутствие циклов
Ввод/вывод указателей -
универсальные процедуры
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть