2013-03-19 46 views
2

我期待看看这是否曾被问过,但我得到的只是Java的答案。我必须从文件中读取名字和姓氏,格式为(姓氏,名字)。该程序要求我们(除其他之外)以(firstname lastname)的格式显示名称,并使用空格而不是逗号。我认为最简单的做法是将字符串拆分为两个较小的字符串,然后按顺序显示它们。我会如何去做这件事?我看到一些BOOST令牌的事情,但我不能使用它,因为程序必须能够在香草代码块上运行。如何使用逗号将字符串拆分为两个字符串并存储字符串? (C++)

+3

您可以使用'[标签名称]'过滤通过标签结果。在C++ FAQ/votes列表顶部附近的问题中,还有一些很好的分裂解决方案。 – chris 2013-03-19 04:14:37

+1

http://stackoverflow.com/questions/236129/splitting-a-string-in-c – 2013-03-19 04:16:56

回答

6

当然更紧凑,如果没有更优雅的解决方案是可能的,但是这确实它 -

#include <string> 

//... read input_str from the file 

int pos = input_str.find_first_of(','); 
std::string firstname = input_str.substr(pos+1), 
     lastname = input_str.substr(0, pos); 

std::string output_str = firstname + " " + lastname; 
相关问题