0

我有如下字符数组,

char ch1_on[]="0123456789";

我需要将上述变量的最后四个数字(6789)转换为 int 变量。我该怎么做?

4

1 回答 1

0

您需要的函数是 MikroC 库中的“memmove”。

其原型定义为:void *memmove(void *to, void *from, int n);

wherevoid *to是一个临时 char 数组(这将包含子字符串 6789),void *from是您的 char 数组ch1_on加上您需要复制的起始索引(在您的情况下 +6,因为您想将字符从索引 6 复制到 9)以及int n在哪里'n' 是要复制的字符数(在您的情况下为 4;6、7、8、9)。

所以要处理它,你只需要声明一个持有者:

char converted[] = "0000";

并做一个记忆:

memmove(converted, ch1_on + 6, 4);

最后,用于atoi将子字符串转换为整数。

result = atoi(converted);

结果将保存最终的整数。

有关更多信息,请参阅 MikroC 的帮助部分并在 ANSI C 字符串库主题下搜索“memmove”。

于 2016-01-24T01:42:09.653 回答