好的,我在StackOverflow上查找了一种通过分隔符分割C++的方法。
到目前为止,我看了这些内容,但仍然不理解:
- 使用字符串分隔符(标准C++)解析(拆分)字符串
- https://www.oreilly.com/library/view/c-cookbook/0596007612/ch04s07.html
- C++通过分隔符分割字符串并保留分隔符
- 将C++字符串分成两个由“:”分隔的整数
从我的理解来看,我需要使用一个变量来存储分隔符,并使用substr()
方法/函数,但我不理解整个过程。
例如,我看到一个例子引用了pos
和npos
,但我不理解那是什么。另外,我也不知道如何处理包含多个相同分隔符的字符串。
我的目标是将这样的日期:"29/01/2022 • 05:25:01"
拆分成一个日期和时间的结构体,例如:
struct Date
{
int day; //Integer for days
int month; //Integer for months
int year; //Integer for years
};
struct Time
{
int hour; //Integer for hour of drop
int minute; //Integer for minute of drop
int second; //Integer for second of drop
int milisecond; //Integer for milisecond of drop
};
我也看过https://www.cplusplus.com/reference/,但我想将它们拆分存储在自己的变量中,例如:
string example
{
struct Date D;
struct Time T;
D.Day = 29;
D.Month = 01;
D.Year = 2022;
T.Hour = 5;
T.Minute = 25;
T.Second = 01;
}
有人可以用更加简单易懂的方式解释下这个问题吗?或者给我一个更容易理解的来源?我的主要难点是不理解某些词汇。
非常感谢任何帮助,我真的很想学习,但我还不太理解这些主题。
string example
的代码甚至无法编译 - 你是想用你的Date D
和Time T
初始化example
吗? - dwcanillasstd::get_time()
,它允许您从任何std::istream
自定义解析日期/时间值。例如,您可以将字符串放入std::istringstream
中,然后进行解析。 - Remy Lebeau