gpt4 book ai didi

将 char 数组的分段转换为 int

转载 作者:行者123 更新时间:2023-12-01 13:58:44 25 4
gpt4 key购买 nike

是否有一个 strtol()sscanf() 等价物,您可以在其中指定编号。要转换的字符数?

我有一个用例,我需要将字符数组的子部分转换为整数,所以我没有终止空字符存在

换句话说,我想要与 strcmp()

相关的 strncmp() 的等价物

strntol()snscanf() 但它们似乎不存在

我想我只需要复制并附加一个 '\0' 并使用 strtol()sscanf() 但是只是想检查一下我没有错过为此目的的现有功能

问题是它们真的存在吗?我只是在寻找错误的东西吗?

最佳答案

strtol 没有等效项,但您可以使用格式说明符来限制 sscanf 考虑的字符数:

char *str = "1234567890";
int n;
sscanf(&str[3], "%3d", &n);
printf("%d\n", n);

%3d 说明符指示 sscanf 仅从 str 中获取三位数字,而 &str[3]告诉 sscanf 从索引 3 开始。

上面的代码打印456 ( demo )。

关于将 char 数组的分段转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46408907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com