1. std::ifstream, std::ofstream здесь - это Си++, всё остальное - это Си. Чтобы открыть с файл в Си используйте
open.
2. using namespace std; - это плохо
3. Если цель писать на Си++, то в нем есть ссылки (помимо указателей); В Си есть указатели - используйте что-нибудь из этого, чтобы передать доступ к объекту в функцию
4. Если использовать не std::ifstream & std::ofstream, а std::fstream, то через этот стрим можно будет и читать и писать
5. Опять же - в Си++ есть std::string
В общем, почитайте сначала чем Си отличается от Си++ - смешивать их не очень клёво