logo search
ООП для Заоч / Пинчук Лозовская Программир на С

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>