Я новичок в C ++. Я пытаюсь написать небольшую программу, которая будет брать файл .txt с моего рабочего стола, сортировать его в папке и переименовывать в текущую дату. Моя идея состоит в объединении трех строк, первая строка - это направление в главный каталог, куда я хочу переместить файл, вторая строка - это название месяца на моем родном языке, а третья строка - это строка, представляющая дату в dd. -mm.txt формат.
#include <iostream>
#include <filesystem>
#include <ctime>
using namespace std;
int main() {
int result;
std::time_t t = std::time(0);
std::tm* now = std::localtime(&t);
char date_string[100];
strftime(date_string, 50, "\\%e-%m.txt", now);
string mnths[12] = { "Januar", "Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar" };
char strt[] = "C:\\Users\\B\\Desktop\\New.txt";
char fnsh[] = "C:\\Users\\B\\Desktop\\Journal\\2020\\"+ mnths[date_string[month]]+ date_string;
result = rename(strt, fnsh);
if (result == 0)
puts("File successfully renamed");
else
perror("Error renaming file");
return 0;
};
Для второй строки, например, в апреле, я хочу получить четвертое значение в массиве mnths. Я попробовал mishma sh решений, ищущих онлайн, но теперь я потерян и нуждаюсь в помощи. Наиболее заметной ошибкой является «Выражение должно иметь целочисленный тип или тип enum с незаданной областью», и я его погуглил, но до сих пор не могу полностью понять, как оно связано с моей проблемой и как я могу ее исправить. Спасибо.