Функция freopen - достъп до файл
Описание на функция freopen:
входни данни: стринг - име на файла;
означение за начин на достъп до файла;
стандартно устройство за насочване на входния/изходния поток.
Резултат NULL, ако не е възникнала системна грешка или съответен код на грешка от операционната система.
Описание на ползваните служебни думи:
stdin стандартно входно устройство
stdout стандартно изходно устройство
stderr стандартно изходно устройство при грешка
stdaux стандартно флопидисково устройство
stdprn стандартен принтер
За достъп до функция freopen е необходимо свързване с библиотечен файл stdio.h.
Следващата програма съдържа решен пример, илюстриращ работата на библиотечна функция freopen:
#include <iostream>
#include <stdio.h>
using namespace std;
int zapis_danni(char ime[])
{char ose;
//obyrnete wnimanie na sluvebnata duma stdout bez promenliwa ot tipa FILE
if ( freopen (ime, "w+", stdout) == NULL)
{ //ako operacionnata sistema wyrne greshka pri freopen
fprintf (stderr, "Otkrita e greshka pri otwarqne na tozi fajl \n");
return 1;//prinuditelen izhod
}
//ako nqma greshka
// Sydyrvanieto na sledwashite redowe se zapiswa w ukazaniq fajl
cout<<"Sydyrvanieto na tozi red se zapiswa wyw fajla.\n";
printf ("\nNa sledwashiq red e wywedenoto ime na fajla \n",stdout);
printf (ime, stdout );
fflush ( stdout );//prinuditelen zapis na bufera ot RAM pametta wyw fajl
fclose ( stdout ); // zatwarq standartniq izhoden potok - w sluchaq fajl
return 0;//ako tozi fajl e bil otworen uspeshno
}// freopen otwarqne na fajl
int main()
{ char ime[128];
int gr;
cout<<"Da se systawi programa, chrez koqto se zapiswa niz wyw fajl.\n";
cout<<"Izhodniqt potok da byde nasochen kym fajl.\n";
cout<<"Wywedete ime na fajl: ";cin>>ime;
gr=zapis_danni(ime);
//weche izhodniqt potok e prenasochen kym fajl
if (gr) fprintf ( stderr, " fajl s wywedenoto ime ne e syzdaden.\n");
else fprintf (stderr, " syzdaden e fajl s wywedenoto ime \n");
system("pause");
return 0;
}//kraj na pograma freopen otwarq fajl
Задачи с подобни функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени примери.
Начало на страницата