Разбить строку на подстроки - C (СИ)

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

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

Собственно, нужно следующее: пользователь вводит строку, например: "aaa bbb ccc", слово "aaa" попадает в ряд 1, слово "bbb" попадает в ряд 2 и т.д.

Решение задачи: «Разбить строку на подстроки»

textual
Листинг программы
#include <stdio.h>
 
int main(int argc, char** argv) {
    
    if (argc > 1) {
        ++argv;
 
        while(*argv){
            fputs(*argv++, stdout);
            putchar('\n');
        }
    }
    else
        fputs("no args\n", stderr);
 
    return 0;
}

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

Представленный код на языке C выполняет следующие действия:

  1. Проверка количества аргументов командной строки: Если аргументов больше одного, то есть в командной строке указано несколько параметров, то переходит к следующему действию. Если аргументов нет или их меньше двух, то выводит сообщение no args в стандартный поток ошибок (stderr).
  2. Переход к следующему аргументу: Увеличивает указатель на следующий аргумент командной строки (argv++) и сдвигает все остальные аргументы на одну позицию вперед.
  3. Вывод аргументов на экран: В цикле while выводит каждый аргумент на экран (fputs(*argv++, stdout)). В конце каждой строки выводится символ новой строки ('\n').
  4. Возврат 0: Завершает работу программы возвратом 0.

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


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

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

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