Как получить последние четыре числа в строку из массива символов в Mikroc Pro

У меня есть массив символов, как показано ниже,

char ch1_on[]="0123456789";

Мне нужно получить последние четыре числа (6789) вышеупомянутой переменной в переменную int. как мне это сделать?

1 ответ

Вам нужна функция memmove из библиотеки MikroC.

Его прототип определяется как: void *memmove(void *to, void *from, int n);

где void *to является временным массивом символов (он будет содержать подстроку 6789), void *from это ваш массив символов 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 и найдите "memmove" в разделе "Строка библиотеки ANSI C".

Другие вопросы по тегам