Объединить строки в C ++, чтобы переименовать файл, чтобы представить дату - PullRequest
0 голосов
/ 28 апреля 2020

Я новичок в 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 с незаданной областью», и я его погуглил, но до сих пор не могу полностью понять, как оно связано с моей проблемой и как я могу ее исправить. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...