Что делает ifstream :: operator >> с унитализированным символом * (или, если на то пошло, с инициализированным символом *).Я думаю, вы хотите строку вместо символа * == прямо сейчас, я думаю, что вы читаете в случайную память.
Так что, чтобы было ясно, попробуйте заменить
char* path;
с
string path
и
char* placeholder;
с
string placeholder;
Вам также нужно добавить:
#include <string>
Имейте в виду, это просто на основе быстрого обзора кода.