gpt4 book ai didi

c - 如何获取包含字符串 "$Rx"的 char *,其中 'x' 是一个数字,并将 x 存储为一个整数?

转载 作者:太空宇宙 更新时间:2023-11-04 07:59:42 25 4
gpt4 key购买 nike

所以我有一个文本文件,我读入一个值并将其存储到一个 char * 中。这个变量总是有一个数字,代表我希望稍后在代码中使用的寄存器,作为第三个字符(即 $R0 或 $R1 等)。我想存储到一个名为 register_index1 的预初始化 int 中。作为引用,从下面的 strtok 中读取的值是 $R1。

我尝试使用:

    input_E_human = strtok(NULL, " ,");
register_index1 = atoi(input_E_human[2]);

但这使我的程序出错并且无法编译,所以我在网上看到您可以这样做:

    input_E_human = strtok(NULL, " ,");
register_index1 = input_E_human[2];

但这也不起作用。它编译但如果我这样做:

    printf("%d",register_index);

它打印出数字 49,而不是 1。这(显然)会在我的代码后面导致意外行为。任何帮助将不胜感激...

最佳答案

如果它总是第三个字符并且总是一个字符长,您可以简单地从中减去 '0' 并得到它作为一个数字。 C 标准要求数字是连续的,所以这是有效的。

register_index1 = input_E_human[2] - ‘0’;

关于c - 如何获取包含字符串 "$Rx"的 char *,其中 'x' 是一个数字,并将 x 存储为一个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562325/

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