При автоматической генерации выходных файлов, мало ли какие на сие есть потребности, нужно предусмотреть автоматическое именование. Для этого удобней всего работать со стандартным классом string. Есть один нюанс. Если при открытии файлового потока (создание файла) в качестве параметра передать переменную строкового типа string, можно столкнуться с тем самым нюансом. Компилятор выдаст ошибку - cannot convert parameter 1 from 'std::string' to 'const wchar_t *'. М-да, видимо для этого случая перегрузка метода не предусмотрена. Что делать? Для этого предусмотрен метод класса string - c_str().
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
void main(void)
{
char temp[16];
string nameFile = "test.txt";
ofstream out;
// Место нюанса. Без соответствующего метода компилятор ловит ошибку несоответствия
// out.open(nameFile, ios::out);
// Если так, то компиляция проходит успешно
out.open(nameFile.c_str(), ios::out);
// При необходимости записи строки типа string нужно также использовать сие метод
out.write("Hello, world", 12);
out.close();
// waiting your action...
cin >> temp;
}