Проверка типа argv - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Как можно проверить тип переданного аргумента?
int main(int argc, char *argv[])
{
        unsigned int size;
 
        if( argc > 1 )
        {
                // тут надо проверить является ли argv[1] int или нет.
                // size = argv[1];
        }
        else
        {
                 size = 10;
        }
}
char - это числовой тип данных. То-есть можно проверить, является ли argv[1] > 47 && argv[1] < 58. Тогда мы можем узнать, вписано ли значение в интервале от 0 до 9 (ASCII код 48 - 57). Но что делать с записью 100? К примеру, ./a.out 234

Решение задачи: «Проверка типа argv»

textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
 
void main(int argc, char **argv)
{ int i, x;
for (i=1;i<argc;i++) {
    x = atoi(argv[i]); 
    printf("argv[%d]=%d\n\r",i,x);};
};

Объяснение кода листинга программы

В данном коде выполняется проверка типа argv. Список действий в коде:

  1. #include - подключаем необходимую библиотеку для работы с системой
  2. #include - подключаем необходимую библиотеку для работы с выводом в консоль
  3. void main(int argc, char argv)** - объявляем функцию main, которая будет выполнять проверку
  4. int i, x; - объявляем две переменные для выполнения цикла и хранения значения
  5. for (i=1;i<argc;i++) - начинаем цикл со второго элемента массива argv (так как первый элемент это имя программы) и выполняем до конца массива
  6. x = atoi(argv[i]); - преобразуем строку в целое число и сохраняем его в переменной x
  7. printf(argv[%d]=%d\n\r,i,x); - выводим значение переменной x и индекс элемента массива argv
  8. }; - закрываем цикл
  9. }; - закрываем функцию main, которая является точкой входа в программу

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5
Похожие ответы