从这篇维基百科文章(http://en.wikipedia.org/wiki/Magnetic_stripe_card#cite_note-14)中,我了解了驾驶执照的基本数据格式。它从位置数据开始,如下所示:%CODENVER ^
我想知道如果这个城市包含两个或更多像纽约市这样的词?
数据输出是什么样的,是一个分隔单词的空格字符,还是其他的东西?
如何编写c ++语句以使用不同的字符串返回城市名称中的每个单词?
答案 0 :(得分:0)
这取决于分隔符。各国对其数据使用不同的格式。 Mag条纹将有一个分隔符将数据拆分为不同的部分,然后是另一个分隔符将这些部分拆分为单独的部分。
举个例子,假设要解析的数据是:
New^York^City
使用类似的东西将其拆分出来:
int main()
{
std::string s = "New^York^City";
std::string delim = "^";
auto start = 0U;
auto end = s.find(delim);
while (end != std::string::npos)
{
std::cout << s.substr(start, end - start) << std::endl;
start = end + delim.length();
end = s.find(delim, start);
}
std::cout << s.substr(start, end);
}
然后你的输出应该是:
New
York
City
搜索更多C ++字符串解析。我从这里使用了split函数: Parse (split) a string in C++ using string delimiter (standard C++)