0

从这篇维基百科文章(http://en.wikipedia.org/wiki/Magnetic_stripe_card#cite_note-14)中,我了解了驾照的基本数据格式。它以如下所示的位置数据开始:%CODENVER^

我想知道如果这个城市由两个或多个像纽约市这样的词组成怎么办?

数据输出是什么样的,是分隔单词的空格字符,还是其他什么?

如何编写 C++ 语句以不同字符串返回城市名称中的每个单词?

4

1 回答 1

0

这将取决于分隔符。各州对其数据使用不同的格式。磁条将有一个分隔符将数据拆分为不同的部分,然后有另一个分隔符将这些部分拆分为单独的部分。

例如,假设您要解析的数据是:

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++)

于 2015-06-01T15:50:28.773 回答