В библиотеке C ++ rw / rwdate.h такого файла или каталога нет - PullRequest
0 голосов
/ 08 января 2019

У меня есть программа на С ++, которая вычисляет дату в формате YYYYMMDD. Программа берет дату и число и возвращает вычисленную дату.

например, 20190101 - 2 вернет 20181230

Программа импортирует библиотеку rw/rwdate.h. Я нажимаю ниже ошибки, когда я использую gcc для компиляции программы. Моя версия gcc: gcc version 4.8.2 (GCC)

фатальная ошибка: rw / rwdate.h: такого файла или каталога нет

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <rw/rwdate.h>
#include <rw/rstream.h>

main (int argc, char **argv)
{
char year[5];
char month[3];
char day[3];
char newDate[9];    /* YYYYMMDD */

strncpy(year, argv[1], 4);
strncpy(month, &argv[1][4], 2); 
strncpy(day, &argv[1][6], 2); 
year[4] = 0x00;
month[2] = 0x00;
day[2] = 0x00;

RWDate d = RWDate(atoi(day), atoi(month), atoi(year)); 

RWDate y;
if (argv[2][0] == '+')
   y = d.operator+= ( atoi(argv[3]) );
else
   y = d.operator-= ( atoi(argv[3]) );

/* output to outFileName */
ofstream oFile;
oFile.open(argv[4], ios::out);
oFile << newDate << endl;
oFile.close(); 

char newDateM[7];    /* YYYYMM */
char fileM[80];

sprintf(newDateM, "%04d%02d", y.year(), y.month());
sprintf(fileM, "%sM", argv[4]);

oFile.open(fileM, ios::out);
oFile << newDateM << endl;
oFile.close(); 

}

1 Ответ

0 голосов
/ 09 января 2019

Спасибо, Джон. Вместо установки библиотеки, я думаю, можно использовать скрипт bash, чтобы получить дату. Я использую команду ниже, чтобы получить 2 дня до указанной даты. curr_date=$(gdate --date='20190101 -2days' +%Y%m%d) Однако у меня есть новая проблема. Как я могу передать параметр и на основе переданного значения вычислить дату 2 дня назад?

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