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

发布于 2024-12-01 20:57:04 字数 285 浏览 1 评论 0原文

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

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

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

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

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

I know how to convert a character array containing numbers to an integer using iostream:

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

but how would I convert the last four characters of that array to an int?

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

Is there a way to point to an element in the array and start streaming from there?
Ideally I would start streaming from max array size - 4.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

何处潇湘 2024-12-08 20:57:04
char* p = ar + strlen(ar) - 4;

现在,p 指向 "1234"'1',您可以将 p 输入到流中。

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

Now p points to the '1' of "1234", and you can feed p into the stream.

岁月静好 2024-12-08 20:57:04
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));
char ar[] = "abc1234";
std::istringstream ss(ar + 3);
int n = 0;
ss >> n;

Better yet, use std::string:

std::string ar("abc1234");
std::istringstream ss(ar.substr(ar.size() - 4));
撩人痒 2024-12-08 20:57:04

怎么样

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

What about

char[] ar = "sl34nfoe11intk1234";
int num;
(ar + strlen(ar) - 4) >> num;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文