【发布时间】:2019-10-07 23:37:18
【问题描述】:
得到以下网址 - https://barbaraperes.com/2017/08/31/2017_08_31.csv,即 2017 年、08 月和 31 日。
目前,我正在构建一个脚本,该脚本会从给定时刻到现在经历所有的日子、几个月和几年。对于每一天,脚本都会更改一个 url(字符串),插入日期、月份和年份,以及 opens it。
这是当前代码
#include <time.h>
#include <string>
#include <iostream>
int main() {
struct tm date;
date.tm_year = 2007 - 1900; // tm_year (int) years since 1900
date.tm_mon = 6; // tm_mon (int) months since January (0-11)
date.tm_mday = 1; // tm_mday (int) day of the month (1-31)
time_t end_date = time(NULL);
std::cout << " =========================================================== \n";
std::cout << "Let's go!\n";
std::cout << " =========================================================== \n";
for (; mktime(&date) < end_date; ++date.tm_mday) {
std::cout << "Defining the new date... \n";
char year[16];
char month[16];
char day[16];
strftime(year, sizeof(year), "%Y", &date);
strftime(month, sizeof(month), "%m", &date); // %m writes month as a decimal number (01-12)
strftime(day, sizeof(day), "%d", &date);
std::cout << "New date defined! \n";
std::cout << "Year: " << year << "\n";
std::cout << "Month: "<< month << "\n";
std::cout << "Day: "<< day << "\n\n";
std::cout << "Make the url dynamic: \n";
std::string url = "https://barbaraperes.com////__.csv";
// https://barbaraperes.com/2017/08/31/2017_08_31.csv
std::string str1 = year;
std::string str2 = month;
std::string str3 = day;
url.insert(25, str1);
url.insert(30, str2);
url.insert(33, str3);
url.insert(36, str1);
url.insert(41, str2);
url.insert(44, str3);
std::cout << "This is the dynamic url: " << url << "\n\n";
std::cout << " =========================================================== \n";
}
std::cout << " =========================================================== \n";
}
在 31 点之前它工作正常,我们可以在下一张图片中看到
一旦天数达到 31(第一个月的月底,即 7 月),它将开始打印空天,月份不会更改为 08(8 月)
我们如何解决这个问题?
【问题讨论】:
-
作为输出得到
Exmplr经过眼睛调试后,我得到了axmplr。 ;-) 但是我学习太累了 并不是说计算机编程很容易(总是)——这是一项艰巨的工作,有时让我头晕目眩(尽管我的妻子仍然认为我一直坐着在我办公室的日子,一直在玩电脑)。保持冷静,睡个好觉,振作起来,并与之抗争。是的你可以。 (您在 Q 中提出的内容实际上就像一个计划。按照它来。) -
是的,你是对的,
axmplr。我用Exmplr做了另一个练习;) -
您面临的挑战究竟是什么?您遇到的具体问题是什么?更一般的,请关注How to Ask。另外,累了就睡一觉吧。你会犯更多的错误而不是修复,你实际上是通过在梦中处理它来学习东西。
-
问题是如何让url动态化。
-
问题是如何让url动态化。动态是什么意思?根据您现有的代码,您在运行时构建 URL。恕我直言,这是必要的动态。一旦您在特定日期完成了它,下一步可能是将该代码包装在一个循环中以迭代日期(如您的第二句话中所描绘的)。