将函数中的公共代码组合为C ++中的单个函数?

时间:2017-04-07 12:32:18

标签: c++

我目前正在使用C ++编写应用程序,其中一小部分涉及在数组值中附加日期和时间,因此我创建了一些函数来获取这些值并制作它们看起来更人性化。在这两个函数之间有一个共同的代码块,我不记得我的生活中如何将它粘在它自己的函数中并让它像目前一样工作。完整代码如下:

tbody {
    height: 100%;
    display: block;//<--- Remove this line
    width: 100%;
    overflow-y: auto;
}

有问题的代码块是评论为#34;获取本地时间&#34;。我非常感谢任何帮助!谢谢!

2 个答案:

答案 0 :(得分:0)

您可以定义名为getLocalTime的函数。这个函数将执行这4行包含的内容。在getTimegetDate中,您都可以调用它。

答案 1 :(得分:0)

我删除了stdafx.h的include,因为我无法使用它进行编译,没有它就可以正常工作。

using namespace std;

string getTime();
string getDate();

string prepareValueForAddingToString(int dateThing) {
    string str;
    stringstream ssDateThing;
    ssDateThing *2 left arrows* dateThing;
    if (dateThing >= 1 && dateThing <= 9)
    {
        str = "0" + ssDateThing.str();
    }
    else {
        str = ssDateThing.str();
    }
    return str;
}


int main()
{
    string theTime = getTime();
    string theDate = getDate();

    cout << "It is " << theTime << " on " << theDate << endl;

    return 0;
}


string getTime()
{
    // define variables
    string strHour;
    string strMin;

    // get local time
    time_t now;
    struct tm nowLocal;
    now = time(NULL);
    nowLocal = *localtime(&now);

    int hour = nowLocal.tm_hour;
    int min = nowLocal.tm_min;

    // send hour value to string
    string curTime;
    curTime += prepareValueForAddingToString(hour);
    curTime += ":";
    curTime += prepareValueForAddingToString(min);

    return curTime;
}

string getDate()
{
    // define variables
    string strDay;
    string strMonth;
    string strYear;

    // get local time
    time_t now;
    struct tm nowLocal;
    now = time(NULL);
    nowLocal = *localtime(&now);

    int day = nowLocal.tm_mday;
    int month = nowLocal.tm_mon + 1;
    int year = nowLocal.tm_year + 1900;


    // send day value to string
    string curDate;
    curDate += prepareValueForAddingToString(day);
    curDate += "/";

    curDate += prepareValueForAddingToString(month);
    curDate += "/";

    curDate += prepareValueForAddingToString(year);

    return curDate;
}

示例输出:现在是2017年4月7日15:26