我有如下字符数组,
char ch1_on[]="0123456789";
我需要将上述变量的最后四个数字(6789)转换为 int 变量。我该怎么做?
您需要的函数是 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”。