从数据文件中解析时间戳并存储在矢量中
Parsing timestamps from data file and storing in vector
我有一些带有时间戳的文本文件,格式为yyyy-mm-dd hh:nn:ss。我正在创建一个类,我想要一个构造函数,它采用文本文件的名称,并将时间(而不是日期)保存在向量中。我尝试了以下代码,但当我试图创建这种类型的对象(例如数据测试("file.txt"))时,我的编译器会抱怨
class data {
vector<tm> timevec;
public:
data (ifstream& in) {
tm tt;
while (in>>get_time(&tt,"%H:%M:%S"));
timevec.push_back(tt);
}};
我确信我上面的代码中有几个问题,但请对我宽容一点;我对c++完全陌生。如上所述,当我试图创建这种类型的对象时,我的编译器会抱怨——它说传递的参数没有已知的转换。
我很好奇,当您在描述中说要将文件名传递给构造函数时,为什么要传递文件流。此外,你甚至需要为tm类型而烦恼吗?这里有一个更简单的解决方案,我认为它符合要求:
#include <memory>
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
using namespace std;
class TimeData
{
public:
explicit TimeData(const string& filePath)
{
ifstream inFile(filePath);
if (!inFile.is_open())
exit(0);
string date(""), time("");
while (inFile >> date >> time)
{
times.push_back(time);
}
}
void Print()
{
for (const auto& time : times)
cout << time << endl;
}
private:
vector<string> times;
};
int main()
{
unique_ptr<TimeData> td = make_unique<TimeData>("file.txt");
td->Print();
getchar();
}
相关文章:
- 使用 char* 存储数据和产生的错误
- 我可以存储数据的地方/C++,Linux,QtCreator
- 如何在共享库的整个生命周期内存储数据
- 在字符串数组中动态创建和存储数据
- 用指向文件的指针存储数据结构
- 如何存储数据/我们如何获取存储在 unordered_map c++11 中存储桶中的数据
- 存储数据的对象和存储指向数据的智能指针的对象
- C++读取文本文件并存储数据
- Cocos2dx: 无法存储数据?
- 如何在每次循环迭代期间生成向量,存储数据,然后删除该向量?
- 尝试从每个预期数据之间有多个空间的文件中读取和存储数据
- 存储数据列表并自动分配给结构的最佳方法是什么
- QT MAC应用程序存储数据路径
- 动态分配存储数据在堆中的随机位置中
- 鸟类调查中的项目在代码中遇到问题.如何像数据库系统一样存储数据
- 可以在C 中永久存储数据中的数据
- 用于存储数据的结构和外部二进制文件
- 使用 char 数组存储数据
- 在结构中读取和存储数据
- 尝试在结构中存储数据时出现堆分配错误