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