我知道如何使用iostream将包含数字的字符数组转换为整数:
char[] ar = "1234";
int num;
ar >> num;
但是如何将该数组的最后四个字符转换为int?
char[] ar = "sl34nfoe11intk1234";
int num;
????;
有没有办法指向数组中的元素并从那里开始流式传输?
理想情况下,我会从最大数组大小开始流式传输 - 。
答案 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;