Переписать из одного файла в другой файл только четные числа - C (СИ)
Формулировка задачи:
я сделал так,но у программы не получается переписать только четные числа,в чем ошибка,подскажите пожалуйста
main ()
{
int a;
FILE *in;
FILE *out;
in=fopen("My file1.txt","r");
out=fopen("My file2.txt","w");
while(!feof(in))
{
a=getc(in);
if(a%2==0)
{
putc(a,out);
}
}
fclose(in);
fclose(out);
return 0;
}Решение задачи: «Переписать из одного файла в другой файл только четные числа»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int a;
FILE *in;
FILE *out;
in = fopen("file1.txt", "r");
out = fopen("file2.txt", "w");
while ( fscanf(in, "%d", &a) != EOF ) {
if (a % 2 == 0) {
fprintf(out, "%d ", a);
}
}
fprintf(out, "\n");
fclose(in);
fclose(out);
return EXIT_SUCCESS;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами
- Объявление переменных: a (для чтения чисел), in (для открытия файла с числами), out (для открытия файла для записи четных чисел)
- Открытие файла с числами для чтения (file1.txt)
- Открытие файла для записи четных чисел (file2.txt)
- Чтение чисел из файла (file1.txt) и запись их в файл (file2.txt) до тех пор, пока не будет достигнут конец файла
- Проверка числа на четность (остаток от деления на 2 должен быть равен 0)
- Запись четного числа в файл (file2.txt)
- Закрытие файлов
- Выход из программы с кодом EXIT_SUCCESS