Функция fgetc - чете знак от файл

Описание на библиотечна функция fgetc: входен параметър поток, резултат знак. fgetc се ползва се при четене на знак от файл, чете знак от текстов файл. Приложената програма представлява текстов файл и може да се използва като файл за четене. За достъп до функция fgetc е необходимо свързване с библиотечен файл stdio.h.


четене на знак от файл и печат

Следващата примерна програма илиюстрира работата на функция fgetc като четене на знак от файл и го извежда на екрана. В случая текстов файл е сорс кода на самата програма. От потребителя се очаква да запише програмата при компилиране като opit.cpp. Обърнете внимание, че някои текстови редактори не записват служебния символ EOF за край на файла. При извеждане текста на програмата служебните символи за край на реда и преминаване на нов ред не се извеждат, но се изпълняват.


//tazi programa da se zapishe kato fajl s ime opit.cpp
#include <iostream>
#include <stdio.h>
 using namespace std;
 
int main(){
   FILE *f;//deklarira promenlwia ot tipa fajl 
   char zn;
   cout<<"Da se systawi programa, chrez koqto se izwevda sydyrvanieto na syshata programa.\n";
   f = fopen ("opit.cpp", "r");//otwarq fajl za chetene 
   if ( f == NULL )
   { cout<<("Tozi fajl ne move da byde otworen!\n"); }
   else {// weche otworen fajl za chetene
   //zn = fgetc(f) - dokato procheteniq znak ne e End Of  File
    while ( ( zn = fgetc(f) ) != EOF ) cout<<zn;
    fclose (f);//zatwarq fajl
   }    
  system("pause");
  return 0;
}//kraj na programa fgetc - chete znak ot fajl

Начало на страницата

четене на знак от файл и запис в друг

Да разгледаме следната примерна задача: Да се състави програма, чрез която се въвежда валидно име на съществуващ текстов файл. Програмата да прехвърли (изкопира) цялото му съдържание в друг файл. Имената на 2-та файла се въвеждат чрез клавиатурата. Пълната файлова спецификация се описва аналогично на изискванията в DOS, с разликата че наклонената черта се пише двойно. Пример: C:\\Dev-Cpp\\a1.txt

  Следващата програма е пример, илюстриращ работата на библиотечна функция fgetc.
  Първият файл се отваря за четене, а вторият файл за запис.
#include<iostream>
#include <stdio.h>
using namespace std;

int main()
{
   FILE *in, *out;//deklarira promenlwia ot tipa fajl 
   char ime1[20],ime2[20];
   char ch;
   cout<<"Da se systawi programa, chrez koqto se izwevda sydyrvanieto\n";
   cout<<"na syshestwuwash tekstow fajl na ekrana i se zapiswa\n";
   cout<<"w drug tekstow fajl, t.e. sydyrvanieto na fajla se kopira.\n";
   cout<<"Wywedete fajl za chetene: ";cin>>ime1;
   cout<<"Wywedete fajl za zapis: ";cin>>ime2;
   in = fopen (ime1, "r+"); //  fopen otwarq fajla za chetene
  out = fopen (ime2, "w+"); //  fopen otwarq fajla za zapis

   cout<<"Sega pechatam prochetenoto!\n";
  ch = fgetc (in);   // fgetc chete poredniq znak ot fajl 
  while (ch != EOF)
   { cout<<ch;
   // pechata procheten znak ot fajl 
     fputc (ch,out);
     ch = fgetc(in);  // chete poredniq znak ot fajl 
   } //dokato ne se sreshne znak za kraj na fajl 
  cout<<endl;
  fclose (in);//zatwarq otworeniq za chetene fajl chrez  fopen 
  fclose (out);//zatwarq za zapis fajl chrez  fopen 
   cout<<"Izwedoh cqloto sydyrvanie na zapisaniq fajl \n";
system("pause");//chaka natiskane na klawish ot klawiaturata
return 0;
}//kraj na programa fgetc - chete znak ot fajl 

Задачи с подобни функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени примери.



Начало на страницата

 
Размер на шрифта
Increase Font Size Option 3 Reset Font Size Option 3 Decrease Font Size Option 3
Bulgarian Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish
Търсене в сайта: