Мусор в ofstream
При использовании ofstream; в имени итогового файла возникает какой-то мусор, однако не понимаю причину этого. Были попытки делать 2 варианта функции и т.п., ничего не помогает
// Первый вариант:
char* getpathtofile(const char* filename) {
char* path = new char[MAX_PATH];
path[MAX_PATH] = '\0';
memcpy(path+strlen(path), "\\some\\additional\\path\\filename.ps1", strlen("\\some\\additional\\path\\filename.ps1"));
return path;
}
// Второй вариант
char* getpathtofile(const char* filename) {
char* path = new char[MAX_PATH];
path[MAX_PATH] = '\0';
memcpy(path+strlen(path), "\\some\\additional\\path\\filename.ps1", strlen("\\some\\additional\\path\\filename.ps1"));
char* returnpath = new char[strlen(path)+1];
returnpath[strlen(path)] = '\0';
returnpath = path;
return path;
}
ofstream oFile(getpathtofile("connection.ps1"));
oFile.write("lorem ipsum").flush();
В итоге исполнения появляется файл.
Ожидание: connection.ps1
На деле получается: connection.ps10)sa (что-то подобное)
Источник: Stack Overflow на русском