Вывести из текстового файла “input.txt” в файл “output.txt” только четные по счету строки (нумерация с 1)
Запись от Anna5194 размещена 08.02.2023 в 00:28
Показов 1461
Комментарии 3
Задача с универа. Если вдруг у преподавателя будут вопросы, мой ли это код, чтобы я могла его показать прямо на сайте. Так что, если у кого-то есть предложения, как этот код улучшить, пишите, с удовольствием почитаю. Код на С++.
| |||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 3
Комментарии
-
Code 1
while(!feof){fgets();fputs(fgets())}
Запись от volodin661 размещена 08.02.2023 в 01:39
-
Запись от AlexProgramm размещена 08.02.2023 в 01:40
-
По крайней мере несколько ошибок.
1)
тут ты под строку выделяешь 1 байт, размером 1 байт.C++ 1 2
char *str; str = (char*) calloc(1, 1);
А тут
ты в эту память пытаешься запихнуть строку явно превосходящую 1 байт.C++ 1
fgets(str, 255, f1);
2)
типичная ошибка использования функции feof:
так, конечно нельзя, читайте мануалы по данной функции.C++ 1
while (!feof(f1))
3)
мало того, что пишешь за пределы массива, так здесь еще пытаешься вычислить длину записанной строки на каждой итерации цикла. strlen вычисляет длину пробегая всю строку до \0 символа.C++ 1
for (int i = 0; i < strlen(str); i++)
Ну это пол беды. Гораздо удивительнее, что ты вычислив длину первой скачанной строки входишь в цикл и используешь длину этой строки, чтобы скачивать остальные строки на данной число раз, хотя не имеешь понятия сколько этих строк в файле!!! Не показывай это никому..Запись от CoderHuligan размещена 08.02.2023 в 11:49


