gpt4 book ai didi

c++ - 如何将一个字符串(没有空格)拆分成单独的字符串?

转载 作者:行者123 更新时间:2023-11-30 02:52:11 25 4
gpt4 key购买 nike

我试图从一行中读入属于结构 vector 的多个字符串,但该字符串没有空格。这基本上是我的问题:

文件数据:

G01G02G03G04G05

当我阅读它时:

for (int i=0;i<5;i++)
File>>vector.at(i).string

我得到的是 vector 中的第一个字符串

G01G02G03G04G05

我更愿意拥有它的地方:

vector(1)=G01;
vector(2)=G02... and so on

抱歉忘记了一些信息,我在 C++ vs2010 中,它总是三个字符长,以 G、R、C、D 开头

最佳答案

这就是我将子字符串拆分为 vector 的方式:

std::vector<std::string> parseData(const std::string& s)
{
if (s.size() % 3 != 0) {
throw std::runtime_error("incorrect data length");
}

std::vector<std::string> result;`enter code here`
for (size_t i = 0; i <= s.size() - 3; i += 3) {
result.emplace_back(s, i, 3);
}

return result;
}

参见 coliru一个完整的可编译演示。

你可以 generalise这是为了支持任何长度的子字符串。

关于c++ - 如何将一个字符串(没有空格)拆分成单独的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19192630/

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