Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
1 files changed, 35 insertions, 35 deletions
-rw-r--r--Sem. 03/README.md70
diff --git a/Sem. 03/README.md b/Sem. 03/README.md
index efd06d2..bc43664 100644
--- a/Sem. 03/README.md
+++ b/Sem. 03/README.md
@@ -1,17 +1,17 @@
-# Ôàéëîâå (÷àñò 2). Äâîè÷íè ôàéëîâå.
+# Файлове (ча�т 2). Двоични файлове.
-## Ðåæèìè çà ðàáîòà ñ ôàéëîâå
+## Режими за работа � файлове
-| Ðåæèì:| Åôåêò: |
+| Режим:| Ефект: |
|--------|------------------------------------------------------------------------------|
-|ios::in |Îòâàðÿ ôàéë çà ÷åòåíå (ïî ïîäðàçáèðàíå íà ifstream) |
-|ios::out |Îòâàðÿ ôàéë çà ÷åòåíå (ïî ïîäðàçáèðàíå íà ofstream) |
-|ios::binary | Îòâàðÿ ôàéë â äâîè÷åí ðåæèì |
-|ios::trunc | Àêî ôàéëúò ñúùåñòâóâà, ñúäúðæàíèåòî ìó ñå èçòðèâà ñëåä îòâàðÿíå íà ïîòîê |
-|ios::app | Îòâàðÿ ôàéëúò çà âìúêâàíå. Ïîñòàâÿ put óêàçàòåëÿò â êðàÿ. Íå ñå äîïóñêà âìúêâàíå ïðåäè êðàÿ íà ïîòîêà |
-|ios::ate | Îòâàðÿ ôàéëúò çà âìúêâàíå. Ïîñòàâÿ put óêàçàòåëÿò â êðàÿ. Äîïóñêà âìúêâàíå íà ïðîçèâîëíè ìåñòà |
-### Ïðèìåð:
+|ios::in |Отвар� файл за четене (по подразбиране на ifstream) |
+|ios::out |Отвар� файл за четене (по подразбиране на ofstream) |
+|ios::binary | Отвар� файл в двоичен режим |
+|ios::trunc | �ко файлът �ъще�твува, �ъдържанието му �е изтрива �лед отвар�не на поток |
+|ios::app | Отвар� файлът за вмъкване. По�тав� put указател�т в кра�. �е �е допу�ка вмъкване преди кра� на потока |
+|ios::ate | Отвар� файлът за вмъкване. По�тав� put указател�т в кра�. Допу�ка вмъкване на прозиволни ме�та |
+### Пример:
```c++
#include <iostream>
#include <fstream>
@@ -31,32 +31,32 @@ int main()
return 0;
}
```
-# Ôëàãîâå íà ñúñòîÿíèÿòà íà ïîòîêà
-| Ôëàã:| Çíà÷åíèå: |
+## Флагове на �ъ�то�ни�та на потока
+| Флаг:| Значение: |
|--------|------------------------------------------------------------------------------|
-|bad() | Èìà çàãóáà íà èíôîðìàöèÿ. Íÿêîÿ îïåðàöèÿ çà ÷åòåíå è ïèñàíå íå å èçïúëíåíà. |
-|fail() |Ïîñëåäíàòà âõîäíî/èçõîäíà îïåðàöèÿ å íåâàëèäíà.|
-| eof() | Äîñòèãíàò å êðàÿ íà ôàéëà. |
-|good() | Âñè÷êè îïåðàöèè ñà èçïúëíåíè óñïåøíî.|
-|clear()| Èç÷èñòâà ñúñòîÿíèåòî íà ïîòîêà (Âå÷å good() ùå âúðíå èñòèíà).|
+|bad() | Има загуба на информаци�. ��ко� операци� за четене и пи�ане не е изпълнена. |
+|fail() |По�ледната входно/изходна операци� е невалидна.|
+| eof() | До�тигнат е кра� на файла. |
+|good() | В�ички операции �а изпълнени у�пешно.|
+|clear()| Изчи�тва �ъ�то�нието на потока (Вече good() ще върне и�тина).|
-## Ïîçèöèîíèðàíå âúâ ôàéë
+## Позициониране във файл
- - tellg() - Âðúùà ïîçöèòèÿ íà òåêóùèÿ ñèìâîë â **ïîòîêà çà ÷åòåíå**
- - tellp() - Âðúùà ïîçöèòèÿ íà òåêóùèÿ ñèìâîë â **ïîòîêà çà ïèñàíå**
- - seekg(offset, direction) - Ïðåìåñòâà get-óêàçàòåëÿò íà ïîçöèòèÿ íà **ïîòîêà çà ÷åòåíå**.
- - seekp(offset, direction) - Ïðåìåñòâà put-óêàçàòåëÿò íà ïîçöèòèÿ íà **ïîòîêà çà ïèñàíå**.
+ - tellg() - Връща позцити� на текущи� �имвол в **потока за четене**
+ - tellp() - Връща позцити� на текущи� �имвол в **потока за пи�ане**
+ - seekg(offset, direction) - Преме�тва get-указател�т на позцити� на **потока за четене**.
+ - seekp(offset, direction) - Преме�тва put-указател�т на позцити� на **потока за пи�ане**.
- -**offset** : öåëî÷èñëåíà ñòîéíîñò. Îòìåñòâàíåòî îò direction.
+ -**offset** : целочи�лена �тойно�т. Отме�тването от direction.
- -**direction** : Ìîæå äà çàåìà ñëåäèòå ñòîéíîñòòè:
+ -**direction** : Може да заема �ледите �тойно�тти:
-1. ios::base::beg - íà÷àëîòî íà ôàéëà.
-2. ios::base::cur - òåêóùàòà ïîçèöèÿ âúâ ôàéëà.
-3. ios::base::end - êðàÿ íà ôàéëà.
+1. ios::base::beg - началото на файла.
+2. ios::base::cur - текущата позици� във файла.
+3. ios::base::end - кра� на файла.
-### Ïðèìåð:
+### Пример:
```c++
#include <iostream>
#include <fstream>
@@ -71,16 +71,16 @@ size_t getFileLen(std::ifstream& ifs) //we can pass stream to functions.
return size;
}
```
-## Äâîè÷íè ôàéëîâå.
+## Двоични файлове.
-Èçïîèëçâàìå ôóíöêèèòå:
+Изпоилзваме фунцкиите:
1. .read(char* memoryBlock, size_t size);
2. .write(char* memoryBlock, size_t size);
-Îáúðíåòå âíèìàíèå, ÷å ôóíêöèÿòà ïðèåìà **char***. Àêî èñêàìå äà çàïàçèì ïðîìåíëèâà îò äðóã âèä, ùå òðÿáâà åêñïëèöèòíî äà ïðåîáðàçóâàìå óêàçàòåëÿ êúì òèï char* (áåç çíà÷åíèå, ÷å óêàçàòåëÿò íà ñî÷è êúì ìàñèâ îò òîçè òèï)
+Обърнете внимание, че функци�та приема **char***. �ко и�каме да запазим променлива от друг вид, ще тр�бва ек�плицитно да преобразуваме указател� към тип char* (без значение, че указател�т на �очи към ма�ив от този тип)
-### Ïðèìåð çà ïèñàíå â äâîè÷åí ôàéë:
+### Пример за пи�ане в двоичен файл:
```c++
#include <iostream>
#include <fstream>
@@ -98,7 +98,7 @@ int main()
return 0;
}
```
- ### Ïðèìåð çà ÷åòåíå îò äâîè÷åí ôàéë:
+ ### Пример за четене от двоичен файл:
```c++
#include <iostream>
@@ -120,8 +120,8 @@ int main()
}
```
- ### Ñúäúðæàíèåòî íà äâîè÷íèÿ ôàéë:
+ ### Съдържанието на двоични� файл:
![enter image description here](https://i.ibb.co/G3R72qG/sudurjanie.png "Binary file example")
-Áàéòîâåòå ñå çàïèñâàò â **îáðàòíà ïîñîêà**. Íàé-ñòàðøèÿò áàéò å ïîñëåäåí. Ñëåäîâàòåëíî çàïàìåíòåíîòî ÷èñëî å **00025fa3**, êîåòî å òî÷íî øåñòàíéñåòè÷íèÿ çàïèñ íà ÷èñëîòî **155555**.
+Байтовете �е запи�ват в **обратна по�ока**. �ай-�тарши�т байт е по�леден. Следователно запаментеното чи�ло е **00025fa3**, което е точно ше�танй�етични� запи� на чи�лото **155555**.