Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 03
diff options
context:
space:
mode:
Commit8cf1283a4ffb9fe1901c29c087fa376de82726af (patch)
Author
 angeld55 <angel_dimitriev@abv.bg>
2022-02-19 23:30:52 +0200
Committer
 angeld55 <angel_dimitriev@abv.bg>
2022-02-19 23:30:52 +0200
Filesabdfe6bf526100dcce87a88563100e02adf7605e /Sem. 03
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.tar
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.tar.gz
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.zip
Parentd73a7ec225516657dec74472a0491330e9999217 (diff)
clean up
4 files changed, 0 insertions, 156 deletions
-rw-r--r--Sem. 03/README.md129
-rw-r--r--Sem. 03/binaryFileExample.cpp0
-rw-r--r--Sem. 03/notes_03.pdfbin122659 -> 0 bytes
-rw-r--r--Sem. 03/sizeFile.cpp27
diff --git a/Sem. 03/README.md b/Sem. 03/README.md
deleted file mode 100644
index 6439ced..0000000
--- a/Sem. 03/README.md
+++ /dev/null
@@ -1,129 +0,0 @@
-# Файлове (част 2). Двоични файлове.
-
-## Режими за работа с файлове
-
-
-| Режим:| Ефект: |
-|--------|------------------------------------------------------------------------------|
-|ios::in |Отваря файл за четене (по подразбиране на ifstream) |
-|ios::out |Отваря файл за четене (по подразбиране на ofstream) |
-|ios::binary | Отваря файл в двоичен режим |
-|ios::trunc | Ако файлът съществува, съдържанието му се изтрива след отваряне на поток |
-|ios::app | Отваря файлът за вмъкване. Поставя put указателят в края. Не се допуска вмъкване преди края на потока |
-|ios::ate | Отваря файлът за вмъкване. Поставя put указателят в края. Допуска вмъкване на прозиволни места |
-|ios::nocreate | Отваря за вмъкване, само ако файлът с указаното име съществува.|
-ios::noreplace | Отваря за вмъкване само ако файлът с указаното име не съществува.|
-### Пример:
- ```c++
-#include <iostream>
-#include <fstream>
-using namespace std;
-int main()
-{
- fstream f("test.txt", ios::out | ios::app);
-
- if (!f.is_open())
- {
- cout << "Error while opening file!" << endl;
- return -1;
- }
- f << 33; //appends at the end of the file
-
- f.close();
- return 0;
-}
- ```
-## Флагове на състоянията на потока
-| Флаг:| Значение: |
-|--------|------------------------------------------------------------------------------|
-|bad() | Има загуба на информация. Някоя операция за четене и писане не е изпълнена. |
-|fail() |Последната входно/изходна операция е невалидна.|
-| eof() | Достигнат е края на файла. |
-|good() | Всички операции са изпълнени успешно.|
-|clear()| Изчиства състоянието на потока (Вече good() ще върне истина).|
-
-## Позициониране във файл
-
- - tellg() - Връща позцития на текущия символ в **потока за четене**
- - tellp() - Връща позцития на текущия символ в **потока за писане**
- - seekg(offset, direction) - Премества get-указателят на позцития на **потока за четене**.
- - seekp(offset, direction) - Премества put-указателят на позцития на **потока за писане**.
-
-
- -**offset** : целочислена стойност. Отместването от direction.
-
- -**direction** : Може да заема следите стойностти:
-
-1. ios::beg - началото на файла.
-2. ios::cur - текущата позиция във файла.
-3. ios::end - края на файла.
-
-### Пример:
- ```c++
-#include <iostream>
-#include <fstream>
-using namespace std;
-size_t getFileLen(std::ifstream& ifs) //we can pass stream to functions.
-{
-
- ifs.seekg(0, std::ios::end); //set the position at the end of the file
- size_t size = ifs.tellg(); //get the curren position
- ifs.seekg(0, std::ios::beg); //set the position at the beginning
-
- return size;
-}
- ```
-## Двоични файлове.
-
-Изпоилзваме функциите:
-
-1. .read(char* memoryBlock, size_t size);
-2. .write(const char* memoryBlock, size_t size);
-
-Обърнете внимание, че функцията приема **char***. Ако искаме да запазим променлива от друг вид, ще трябва експлицитно да преобразуваме указателя към тип char* (без значение, че указателят не сочи към елементи от тип char)
-
-### Пример за писане в двоичен файл:
- ```c++
-#include <iostream>
-#include <fstream>
-
-using namespace std;
-
-int main()
-{
- ofstream f("file.dat");
-
- int a = 155555;
-
- f.write((const char*)&a, sizeof(int));
-
- return 0;
-}
- ```
- ### Пример за четене от двоичен файл:
-
- ```c++
-#include <iostream>
-#include <fstream>
-
-using namespace std;
-
-int main()
-{
- ifstream f("file.dat");
-
- int a;
-
- f.read((char*)&a, sizeof(int));
-
- cout << a << endl;
-
- return 0;
-}
- ```
-
- ### Съдържанието на двоичния файл:
- ![enter image description here](https://i.ibb.co/G3R72qG/sudurjanie.png "Binary file example")
-
-Байтовете се записват в **обратна посока**. Най-старшият байт е последен. Следователно запаментеното число е **00025fa3**, което е точно шестанйсетичния запис на числото **155555**.
-
diff --git a/Sem. 03/binaryFileExample.cpp b/Sem. 03/binaryFileExample.cpp
deleted file mode 100644
index e69de29..0000000
--- a/Sem. 03/binaryFileExample.cpp
+++ /dev/null
diff --git a/Sem. 03/notes_03.pdf b/Sem. 03/notes_03.pdf
deleted file mode 100644
index 0200d97..0000000
--- a/Sem. 03/notes_03.pdf
+++ /dev/null
Binary files differ
diff --git a/Sem. 03/sizeFile.cpp b/Sem. 03/sizeFile.cpp
deleted file mode 100644
index 862d565..0000000
--- a/Sem. 03/sizeFile.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <iostream>
-#include <fstream>
-
-using namespace std;
-
-size_t getFileSize(const char* fileName)
-{
- ifstream f(fileName);
-
- if (!f.is_open())
- return 0;
-
- f.seekg(0, ios::end);
- size_t pos = f.tellg();
-
- f.close();
-
- return pos;
-}
-int main()
-{
-
-
- cout << getFileSize("sizeFile.cpp") << endl;
-
- return 0;
-} \ No newline at end of file