【发布时间】:2019-10-04 20:33:14
【问题描述】:
我目前在解析字符串以填充变量时遇到问题。目前,字符串充满了我正在擦除的不必要的空格。之后,我的目标是将数据解析为特定的变量
Reservation::Reservation() : resID(), resName(""), email(""), people(""), day(""), hour(""){}
Reservation::Reservation(const std::string& m_res) : stringfile(m_res)
{
while (stringfile.find(" ") != std::string::npos) {
auto pos = stringfile.find("");
stringfile.erase(pos);
}
.
this->resName = stringfile.substr(0,8);
std::cout << resName << std::endl;
}
以上是我的代码的 sn-p。目前正在发生的是,似乎一切都被抹去了。运行程序测试时,输出只是空格。如果我这样做 this->resName = m_res.substr(0,8);,它将返回我想要的内容,但不会修剪任何空格。
为了完成这项任务,我使用了substr()。有什么我盲目地想念的吗?我不确定为什么我的整个stringfile 是空白的,即使我只是打印`std::cout
这里是文本文件的 sn-p,需要对其进行解析以使事情变得更容易
# ID : Name , email, # of people, Day, Time
#------------------------------------------------------------
RES-001: John , john@email.com , 2, 3, 5
我也迷失了如何找到每个部分并将其解析为自己的变量。看起来很简单,但我就是想不通。
【问题讨论】:
-
此时字符串充满了我正在擦除的不必要的空白 -- 如果您使用
std::istringstream,则无需这样做。另外,这些逗号是输入文本文件的一部分吗? -
是的。是故意歪斜的。 @PaulMcKenzie
-
@user4581301 我最诚挚的道歉。我离开我的笔记本电脑,我猜我的朋友是个混蛋。对不起
标签: c++