我有像bellow一样的字符数组,
char ch1_on[]="0123456789";
我需要将上面变量的最后四个数字(6789)变为int变量。我怎么能这样做?
答案 0 :(得分:0)
您需要的功能是" memmove"来自MikroC图书馆。
其原型定义为:Attack
其中void *memmove(void *to, void *from, int n);
是一个临时字符数组(这将保存子字符串6789),void *to
是您的字符数组void *from
加上您需要复制的起始索引(在您的大小写+6,因为你想要将索引6中的字符复制到9)和ch1_on
,其中' n'是要复制的字符数(在您的情况下为4; 6,7,8,9)。
所以要做到这一点,你只需要宣布一个持有人:
int n
并做一个memmove:
char converted[] = "0000";
最后,使用memmove(converted, ch1_on + 6, 4);
将子字符串转换为整数。
atoi
结果将保存最终整数。
有关详细信息,请参阅MikroC的帮助部分并搜索“memmove”'在ANSI C String Library主题下。