C ++如何将数组的最后4个字符转换为整数?

时间:2011-08-27 19:20:45

标签: c++ arrays character iostream

我知道如何使用iostream将包含数字的字符数组转换为整数:

char[] ar = "1234";
int num;
ar >> num;

但是如何将该数组的最后四个字符转换为int?

char[] ar = "sl34nfoe11intk1234";
int num;
????;

有没有办法指向数组中的元素并从那里开始流式传输?
理想情况下,我会从最大数组大小开始流式传输 - 。

3 个答案:

答案 0 :(得分:5)

char* p = ar + strlen(ar) - 4;

现在p指向'1'的{​​{1}},您可以将"1234"提供给流。

答案 1 :(得分:2)

char ar[] = "abc1234";
std::istringstream ss(ar + 3);
int n = 0;
ss >> n;

更好的是,使用std::string

std::string ar("abc1234");
std::istringstream ss(ar.substr(ar.size() - 4));

答案 2 :(得分:1)

怎么样?
char[] ar = "sl34nfoe11intk1234";
int num;
(ar + strlen(ar) - 4) >> num;