diff options
1 files changed, 47 insertions, 0 deletions
| -rw-r--r-- | Binary_files/SaveAndReadStudents_BinaryFile.cpp | 47 |
diff --git a/Binary_files/SaveAndReadStudents_BinaryFile.cpp b/Binary_files/SaveAndReadStudents_BinaryFile.cpp new file mode 100644 index 0000000..0f600aa --- /dev/null +++ b/Binary_files/SaveAndReadStudents_BinaryFile.cpp @@ -0,0 +1,47 @@ +#include <iostream> +#include <fstream> + +using namespace std; +void SaveStudent(const char* name, int fn, ofstream& f) +{ + f.write((const char*)&fn, sizeof(int)); //sizeof(int) is 4 + int strLen = strlen(name); + f.write((const char*)&strLen,sizeof(int)); + f.write(name, strLen); +} +void ReadStudent(ifstream& f) +{ + int fn; + f.read((char*)&fn, sizeof(int)); + + int nameLen; + f.read((char*)&nameLen, sizeof(int)); + + char* name = new char[nameLen + 1]; + f.read(name, nameLen); + name[nameLen] = '\0'; + + cout << "Name: " << name << " Fn: " << fn << endl; + delete[] name; + +} + + + +int main() +{ + //ofstream f; + // f.open("students.bat"); + // SaveStudent("Ivan",123,f); + // SaveStudent("Sasho",555,f); + // f.close(); + + //ifstream f2; + //f2.open("students.bat"); + //ReadStudent(f2); + //ReadStudent(f2); + //f2.close(); + + + +} |
