Вы можете snprintf
создать собственную строку. Пример таков:
char filepath[100];
snprintf(filepath, 100, "c:\\user\\Desktop\\data%d\\example.txt", datanum);
Тогда все, что вы хотите с ним сделать:
ofstream f;
f.open(filepath);
f.close();
Примечание: snprintf
ограничивает максимальное количество символов, которое может быть записано в ваш буфер (filepath
). Это очень полезно, когда аргументы *printf
являются строками (то есть используют %s
), чтобы избежать переполнения буфера. В случае этого примера, где аргумент является числом (%d
), уже известно, что он не может иметь более 10 символов, и поэтому длина результирующей строки уже имеет верхнюю границу и просто создает буфер filepath
достаточно большой, достаточно. То есть в этом особом случае вместо snprintf
может использоваться sprintf
.