Сто лет не писал на си, пошел почитал reference и написал. Не на бумажке конечно, да. :)
Забыли проверить argc - ну окей, это можно понять. Но что за проблемы возникали с последней строкой и как можно падать на четном/нечетном количестве строк мне прямо трудно представить.
Я писал самый-самый тупой вариант: - проверили аргументы - открыли файлы - завели буфер - завели счетчик с единицы - цикл пока fgets возвращает не NULL - если значение счетчика четное - пишем в четный файл, иначе в нечетный - инкрементим счетчик - после цикла закрываем файлы
Навскидку в такой реализации есть одна проблема - нужно как-то переписывать чтобы нормально работало на "очень длинных строках".
no subject
Date: 2013-05-13 12:57 pm (UTC)Забыли проверить argc - ну окей, это можно понять. Но что за проблемы возникали с последней строкой и как можно падать на четном/нечетном количестве строк мне прямо трудно представить.
Я писал самый-самый тупой вариант:
- проверили аргументы
- открыли файлы
- завели буфер
- завели счетчик с единицы
- цикл пока fgets возвращает не NULL
- если значение счетчика четное - пишем в четный файл, иначе в нечетный
- инкрементим счетчик
- после цикла закрываем файлы
Навскидку в такой реализации есть одна проблема - нужно как-то переписывать чтобы нормально работало на "очень длинных строках".