русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Void main()


Дата додавання: 2014-11-28; переглядів: 780.


{ char s[100];

FILE* f = fopen("ex_01.txt","r");

for (;;) { if (fscanf(f,"%s",s)==EOF) break;

puts(s);

}

}

 

У наведеному нижче прикладі функція filelen повертає розмір файлу в байтах, причому файл може бути як текстовим, так і бінарним.

 

// Приклад 2

ulong filelen(char* nf)

{ ulong L=0;

FILE* f= fopen(nf,"rb");

errhalt(f==0,"filelen: Файл не відкритий!");

for (;;) { if (fgetc(f)==EOF) break; L++; }

fclose(f);

return L;

}

 

Нижче наведено приклад програми, яка виконує сортування списку виборців. Імена вхідного й вихідного файлів вказуються в командному рядку. Кожний рядок вхідного файлу містить відомості про одного виборця: прізвище, ініціали й, можливо, іншу інформацію (рік народження, адреса й т.п.). Програма зчитує інформацію із вхідного файлу, впорядковує список так, щоб прізвища виборців були розташовані за абеткою, і записує впорядкований список у відповідний файл. Для збереження списку виборців використовується динамічний масив рядків. Зверніть увагу на те, що одиницею інформації, що оброблюється у цій програмі, є рядок тексту, який може вміщувати пробіли.

 

// Приклад 3

#include <syst.h>

const L=200;

void main(int N, char** f)

{ FILE* in = fopen(f[1],"r");

FILE* out= fopen(f[2],"w");

char** S; char buf[L];

int i,j,n;

for (n=0;;n++) { fgets(buf,L,in); if (feof(in)) break; }

S= new char*[n]; for (i=0;i<n;i++) S[i]= new char[L];

rewind(in);

for (i=0;i<n;i++) fgets(S[i],L,in);

for (i=0;i<n-1;i++)

for (j=0;j<n-1;j++)

if (strcmp(S[j],S[j+1])==1) swp(S[j],S[j+1]);

for (i=0;i<n;i++) fputs(S[i],out);

for (i=0;i<n;i++) delete[] S[i]; delete[] S;

fclose(out); fclose(in);

puts("List was ordered successfully!");

}

Функція fgets, що застосована у цьому прикладі, на відміну від інших функцій зчитування з файлу, зчитує рядок не до першого пробілу, а до символу EOL (кынець рядка). Функція fputs дозволяє записувати рядок таким же чином у файл.

Нижче наведено програму, яка виконує копіювання інформації з одного файлу в іншій. Імена файлів вказуються у командному рядку.

 

// Приклад 4

#include <stdio.h>

void main(int N, char** fnam)

{ FILE* fa= fopen(fnam[1],"r");

FILE* fb= fopen(fnam[2],"w");

while (!feof(fa)) putc(fgetc(fa),fb);

}

 

 


<== попередня лекція | наступна лекція ==>
Бібліотека С | Застосування потоків


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн