gpt4 book ai didi

c++ - 将月份名称转换为数字 C++

转载 作者:太空宇宙 更新时间:2023-11-04 15:19:34 25 4
gpt4 key购买 nike

我已经很长时间没有接触 C++ 了,我确信这可以在一行代码中完成。

我有一个字符串 day,我想将其转换为 0-11 之间的值。我通常会做这样的事情

months = array('Jan', 'Feb', 'Mar', 'Apr' ...);
print months[day];

但我不知道如何在 C++ 中做到这一点

最佳答案

一个简单的方法是这样的:

vector<string> months = { "jan", "feb", "mar", "apr", "may", ... };
int month_number = 2;

cout << months[ month_number - 1 ] // it is month_number-1 because the array subscription is 0 based index.

更好但更复杂和高级的方法是像下面这样使用 std::map:

int get_month_index( string name )
{
map<string, int> months
{
{ "jan", 1 },
{ "feb", 2 },
{ "mar", 3 },
{ "apr", 4 },
{ "may", 5 },
{ "jun", 6 },
{ "jul", 7 },
{ "aug", 8 },
{ "sep", 9 },
{ "oct", 10 },
{ "nov", 11 },
{ "dec", 12 }
};

const auto iter = months.find( name );

if( iter != months.cend() )
return iter->second;
return -1;
}

关于c++ - 将月份名称转换为数字 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22575190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com