C++如何将字符串拆分为字符串和整数?

问题描述:

说我有一个串xC++如何将字符串拆分为字符串和整数?

string x = "Word 1 2"; 

我想X分成了“词”和两个“1”两个int变量和“2”的独立字符串。阿卡;

string z = "Word"; 
int a = 1; 
int b = 2; 

我该怎么去做这件事?我确信有一种方法可以搜索字符串,而单独是基于不同元素之间的空格,但我不知道如何执行此操作。

任何帮助,非常感谢。

+0

C不是C++不是C! – Olaf

+1

我非常肯定,这完全在你的C++书中解释。 –

+0

'strtok'是你的朋友 – GMichael

您可以使用strtok按空格拆分字符串并使用isdigit来检查它是否为整数,然后您可以使用atoi将字符串转换为整数。

您可以使用stringstream及其具体operator >>

string x = "Word 1 2"; 

stringstream ss(x); 
string z; 
int a; 
int b; 
ss >> z >> a >> b;