从这篇维基百科文章(http://en.wikipedia.org/wiki/Magnetic_stripe_card#cite_note-14)中,我了解了驾照的基本数据格式。它以如下所示的位置数据开始:%CODENVER^
我想知道如果这个城市由两个或多个像纽约市这样的词组成怎么办?
数据输出是什么样的,是分隔单词的空格字符,还是其他什么?
如何编写 C++ 语句以不同字符串返回城市名称中的每个单词?
从这篇维基百科文章(http://en.wikipedia.org/wiki/Magnetic_stripe_card#cite_note-14)中,我了解了驾照的基本数据格式。它以如下所示的位置数据开始:%CODENVER^
我想知道如果这个城市由两个或多个像纽约市这样的词组成怎么办?
数据输出是什么样的,是分隔单词的空格字符,还是其他什么?
如何编写 C++ 语句以不同字符串返回城市名称中的每个单词?
这将取决于分隔符。各州对其数据使用不同的格式。磁条将有一个分隔符将数据拆分为不同的部分,然后有另一个分隔符将这些部分拆分为单独的部分。
例如,假设您要解析的数据是:
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++)