我试图从.txt文件中读取一些信息,然后将其存储在一个结构中,但我不知道如何选择我需要的单词。
.txt如下
fstream write_messages("C:\\Messages.txt");
.txt中的一行如下所示:
18 [@deniseeee]:你好,你好吗? 2016-04-26.23:37:58
所以,问题是我有一个结构列表
list<Message*> g_messages;
,其中
struct Message {
static unsigned int s_last_id; // keep track of IDs to assign it automatically
unsigned int id;
string user_name;
string content;
string hour;
Message(const string& a_user_name, const string& a_content) :
user_name(a_user_name), content(a_content), id(++s_last_id), hour(currentDateTime())
{
}
Message(){}
};
我想读取文件,以便我可以将号码存储到列表的id中,这个词在&#34; [@&#34;和&#34;]:&#34;进入user_name,下一句话进入内容,日期进入小时。
我该怎么做?
感谢任何帮助
谢谢
答案 0 :(得分:0)
问题是:您正在编写此文件,以便人们可以轻松阅读,而您应该编写该文件,以便您的程序轻松加载。
您正在使用空格来分隔元素,而空格很可能会在这些元素中发生。
我建议使用不太可能在文本中使用的符号,例如管道“|”。另外,我会首先编写固定大小的元素:
18 | 2016-04-26.23:37:58 | deniseeee |你好,你好吗?
然后你可以读取整行,将它们拆分成那些管道符号并加载到你的结构域中。