Не записываются символы в файл - C (СИ)
Формулировка задачи:
не записывает в файл символы почему?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n=5;
char a[n];
int i;
FILE *f;
f=fopen("/home/maxim/progiuh/massivy/lolik ","w");
printf("vvedite elementy massiva\n");
for (i=0;i<n;i++)
{
scanf("%c",&a[i]);
if (a[i]=='s')
{
a[i]='k';
}
}
fputs(a ,f);
fclose(f);
}Решение задачи: «Не записываются символы в файл»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n=5;
char a[n];
int i;
FILE *f;
f=fopen("D:\\1.txt ","w+");
printf("vvedite elementy massiva\n");
for (i=0;i<n;i++)
{
scanf("%c",&a[i]);
if (a[i]=='s')
{
a[i]='k';
}
}
fputs(a ,f);
fclose(f);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и для ввода-вывода данных
- Объявление переменных: n (количество элементов массива), a (массив символов), i (итератор для цикла), f (указатель на файл)
- Открытие файла
D:\\1.txtв режиме записи (w+) с помощью функции fopen - Вывод сообщения для ввода элементов массива
- Цикл, который выполняется столько раз, сколько элементов в массиве (от 0 до n-1)
- В каждой итерации цикла выполняется чтение одного символа из стандартного ввода с помощью функции scanf и сохранение его в соответствующем элементе массива a
- Если введенный символ равен 's', то он заменяется на 'k'
- Запись массива a в файл с помощью функции fputs
- Закрытие файла с помощью функции fclose
- Возврат 0, что означает успешное завершение программы