Язык Си с нуля - Урок 36 - Работа с файлом в текстовом режиме
HTML-код
- Опубликовано: 3 июн 2020
- Это видео для тех, кто еще ни разу не программировал, но прошел предыдущие 35 уроков.
В данном видео мы:
+ научимся записывать в файл символы и строки
+ научимся читать из файла символы и строки
+ научимся записывать и считывать числа
+ посмотрим сам файл в редакторе
► Плей лист - • Программирование на Си...
Уроки по теме:
► урок 2 - Вывод на экран - • Программирование на Си...
► урок 3 - Условный оператор и операторные скобки - • Программирование на Си...
► урок 6 - процедуры, функции, передача параметров - • Программирование на Си...
► урок 7 - Циклы, массивы - • Программирование на Си...
► урок 10 - Новые циклы (for, do while) - • Программирование на Си...
► урок 21 - Указатели - • Язык Си с нуля - Урок ...
► урок 22 - Передача параметров по указателю - • Язык Си с нуля - Урок ...
► урок 24 - Виды указателей - • Язык Си с нуля - Урок ...
Язык Си с нуля - данный видеокурс предназначен для тех, кто еще ни разу не программировал. Здесь я максимально понятно пошагово обьясняю основы программирования на языке Си. Если хотите научиться программировать на языке Си - пройдите весь курс. Помимо объяснения материала я даю домашку. А после каждых нескольких уроков мы вместе пишем забавные игры!)
Где же ты был, когда я был на 1 курсе.
не бросайте этот канал реально доступно о языке Си
Интересненько) Напишу больше одного слова, чтобы поддержать канал Антона!
Спасибо вам огромное, всё очень понятно! А то в институте дают глупую методичку с одной теорией, ничего не объясняют, а задачи задают сложные😢
Эльфийский язык :)
Комментарий для поддержки канала
Очень круто! Очень спасибо! Очень как всегда!
Ёмко и информативно, спасибо!
Круто!
Спасибо. Научил
Спасибо)
1:50 можешь записать пожалуйста курс по эльфийскому
Отличные уроки, желаю успеха и множества просмотров
Работа с файлом Язык Си, записывать в файл символы и строки
Изучил работу с файлами в текстовом режиме на Си, заодно подтянул эльфийский.
Как открывать текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление) можеш урок записать очень буду благодарен ))
Крутой канал ))
Скоро будет!))
А что делать если я хочу добавить что-то в уже существующий файл без его перезаписи?
вхазазах!!
Эльфийский)))
spasibo
Мне кажется или лучше дописывать в файл строки лучше с аргументом "r+"? Он не затирает данные записанные в прошлый раз.
4:00 - я так и не понял почему задвоилась последняя строка и каким образом проверка на NULL помогает устранить эту "ошибку" (хотя, почему это ошибка? код же и без проверки на NULL написан верно)
я понимаю что поздно, но дело в том что на 3 итерации возвращается ошибка считывания и из за этого нечего не происходит и строка не меняется но данные строки у нас сохранились и мы их выводим
а проверка на 0 делает так что если результат 0 то нечего не выводится
Третья задача как-то так:
int arr[SIZE];
int i = 0;
f = fopen("number.txt", "r");
while(fscanf(f, "%d
", &arr[i]) == 1 && i < SIZE) // пока удалось прочитать целое число и не вышли за границы массива
{
arr[i] *= 2;
printf("%d
", arr[i++]);
}
fclose(f);
Как мне считать с файла числа если они типа long long
Наверное можно посимвольно а потом две половинки объединить в один long long
4:42 "
" это же символ не конца строки, а перевода строки на след. строку или я не прав?
Все верно. Видимо я оговорился и не заметил)
а зачем сначала создавать указатель? почему нельзя сразу написать FILE f = fopent("test.txt"); ?
Потому что надо тогда уж писать FILE *f = fopen(“test.txt”, “w”), в твой строке 2 ошибки и одна опечатка. Можно сказать и 3 ошибки, так как компилятору пофиг опечатка это или реальная ошибка. Если ты так будешь писать код, то тяжко тебе придется.
@@phat80 я вижу эти ошибки, их можно опустить, это не важно , вопрос зачем создавать указатель на переменную f типа FILE, почему нельзя создать переменную f типа FILE?
@@user-ir3dg4li4s Если ещё актуально:
функция fopen возвращает указатель на файл, поэтому нам нужно создавать указатель.
а где ответы на дз?!)
Скоро будут!)
Почему-то после исправления(проверки "fgets") всё равно двоится последняя строка
int main()
{
FILE* f;
char c[1000];
f = fopen("001.txt", "w");
fprintf(f, "%s", "DADA DA DU
");
fprintf(f, "%s", "DUDU DU DA
");
fclose(f);
f = fopen("001.txt", "r");
while (!feof(f))
{
if (fgets(c, 1000, f) != NULL);
printf("%s", c);
}
fclose(f);
return 0;
}
Вывод в консоли:
DADA DA DU
DUDU DU DA
DUDU DU DA
В конце if (fgets(c, 1000, f) != NULL); попробуй убрать ( ; ). Точки с запятой в данной случае не должно быть.