Программирование на Си урок 37: Работа с файлами в языке Си

Поделиться
HTML-код
  • Опубликовано: 18 мар 2017
  • Исходники из 37 урока: my-files.ru/2bjun2
    Создание файла, чтение из файла, запись в файл на языке программирования Си. Данное решение является кросплатформенным и работает как на Linux так и Windows. Но есть и другие способы как все сделать вышеописанное на более низком уровне но реализация будет только под Linux )
    Поддержать канал:
    If You want to support the channel:
    Донат / Donate
    RUB R939373054553
    USD Z657301568665

Комментарии • 53

  • @nadyamoscow2461
    @nadyamoscow2461 3 года назад +2

    Лучший курс для новичков. Огромное вам спасибо.
    Кстати, у меня while() открывало только последнюю строку файла. Я переделала на do while, как у вас было в 20-м уроке
    do
    {
    fprintf(stdout, "%s", str);
    } while(fgets(str, LEN, file_ptr)); //получили данные из файла.

    printf("
    ~Считывание завершено!
    ");
    и стало выводиться как положено.

  • @user-rs6nh2gk8l
    @user-rs6nh2gk8l 7 лет назад +25

    Самый лучший канал по программированию на Си и работе с Linux!

    • @FromtheLAMERtotheProgrammer
      @FromtheLAMERtotheProgrammer  7 лет назад +1

      Спасибо!

    • @user-nr2mg1pg6v
      @user-nr2mg1pg6v 2 года назад +1

      Прошло 4 года... Актуально и сейчас! А всё почему! GTK с ним хорошо дружит. Неубиваемый язык!!!

  • @lancylancy8219
    @lancylancy8219 3 года назад +1

    Благодарю за видео. Очень помогло. Все просто и понятно!

  • @user-cr2kb4pr9x
    @user-cr2kb4pr9x Год назад +2

    Прекрасно, только автор не упомянул одну важную особенность режима "w" - существующий файл он сначала очищает (усекает), а потом записывает.
    Также не очень понятен смысл return 1. Есть классические макросы типа EXIT_FAILURE и EXIT_SUCCES, которые с библиотечной "exit()" завершают выполнение программы из любой ее функции. А return работает в роли завершателя только в main, в других функциях он просто вернет поток управления вызывающей функции.
    И в части документирования это более явный ход, чем return.

  • @Takihava
    @Takihava 7 лет назад +4

    Лучший! Спасибо за уроки!

  • @fostris
    @fostris 4 года назад +2

    Очень полезно,спасибо !

  • @tttare1ka
    @tttare1ka 4 года назад +1

    Звук клавиатуры очень расслабляет)

  • @kollector.online9580
    @kollector.online9580 2 года назад +1

    Здравствуйте,
    пол интернета перерыл уже, не знаю как правильно сформулировать фразу.
    Как отправить массив данных в микроконтроллер (именно как правильно принять его и обработать, а именно когда параметров много, например сравнение контрольной суммы, отправка по блокам, завершение приема пакетов).
    Везде видео с несколькими параметрами, например как помигать светодиодом или включить что то или выключить, но нигде нет примера как принять 20-50 параметров сразу. И например сразу записать их в память, например в eeprom или внутреннюю память микроконтроллера.

  • @keeponwishing3856
    @keeponwishing3856 3 года назад +1

    Спасибо Дмитрий! Надеюсь у вас всё хорошо и вы сейчас в Калифорнии в Google или в Москве в Tinkoff Bank ;)

  • @user-iq5zw1ow9n
    @user-iq5zw1ow9n 6 лет назад +1

    Спасибо.

  • @RAYD_HawaK
    @RAYD_HawaK 2 года назад +1

    у меня не срабатывает r+a чтение и запись, только по отдельности, в чем может быть беда?

  • @mykhailomorhal2181
    @mykhailomorhal2181 6 лет назад +1

    спасибо)

  • @nickseniuk157
    @nickseniuk157 3 года назад +1

    здраствуйте, а если у меня задача, где надо записать значения арефметических операций, каждая строка это пример и надо записать его решение, как можно это сделать?) спасибо за ответ)

  • @mav_siya
    @mav_siya 2 года назад +1

    А как лучше всего можно считать из файла строки, записывая их сразу в список? (Сохраняя все связи)

  • @bestmoments6830
    @bestmoments6830 5 лет назад +1

    Слушай,а как мне записывать в масив структур с файла?и так же сохранять масив структур в файл

  • @user-rx5wb1tu1l
    @user-rx5wb1tu1l 4 года назад +9

    Всё круто, спасибо! Только погромче бы :)

  • @lkxn4374
    @lkxn4374 5 лет назад +4

    спасибо
    все лабы для универа сделал

  • @zarifizatullo3554
    @zarifizatullo3554 5 лет назад +1

    chto esli fputs() ne kampiliruet, toist ne rabotaet, isho est drugie sposobi?

  • @whatislovegorbunov
    @whatislovegorbunov 7 лет назад +1

    будут ли уроки по темам реализации стека, дека, очереди ?

    • @FromtheLAMERtotheProgrammer
      @FromtheLAMERtotheProgrammer  7 лет назад +1

      В базовом курсе для новичков нет. В продвинутом возможно да.

  • @Chai_Chainoviy
    @Chai_Chainoviy 2 года назад

    fprintf(stdout, "%s", str); что такое stdout?

  • @user-fg5wo6tr2k
    @user-fg5wo6tr2k 7 лет назад +1

    Спасибо большое за видео,а даешь ли ты приватные уроки?

  • @artistudio4710
    @artistudio4710 2 года назад +1

    Спасибо большое, но как записать данные из файла в строку char? Подскажите, пожалйста

    • @-12_80
      @-12_80 2 года назад

      Вот лично мой пример, в котором открывается файл "countries.txt" на чтение и после этого в строку "line" переписывается всё содержимое данного файла:
      FILE* countries = fopen("countries.txt", "r");
      char line[SIZE];
      char helpful_line[SIZE];
      fgets(line, 200, countries);
      while (fgets(helpful_line, 200, countries)) {
      strcat_s(line, helpful_line);
      }

  • @white5493
    @white5493 6 лет назад +3

    для чего был использован цикл while?

    • @user-eo8xj5ci7c
      @user-eo8xj5ci7c 5 лет назад

      чтобы выводились все строки (если их 2 и больше в файле)

  • @LinaFawkes
    @LinaFawkes 6 лет назад +1

    Добрый вечер, подскажите, пожалуйста, как удалить какое-либо слово из файла?

    • @krutetskiy
      @krutetskiy 5 лет назад

      получаете строку из файла, редактируете ее как вам надо, а после перезаписываете файл (то есть открываете его через W)

  • @linterrupt
    @linterrupt 5 лет назад

    это убунту? какая тема?

  • @user-ox6kp4sc8z
    @user-ox6kp4sc8z 6 лет назад

    а что если надо дозаписать данные в конце каждой строки? как это провернуть писать fputs(); внутри whille()?

    • @VladisLove-tg5is
      @VladisLove-tg5is 4 года назад

      Добрый день. Разобрались наверняка, как это сделать? То же самое нужно сделать, не знаю только как)

    • @user-bs8rs3mw2i
      @user-bs8rs3mw2i 3 года назад

      @@VladisLove-tg5is используйте read() и Write () если linux

  • @user-jg5iq2mc7m
    @user-jg5iq2mc7m 6 лет назад +1

    привет всем
    какой признак конца строки в файлах не знаю как определить

    • @ian-9512
      @ian-9512 6 лет назад

      Escape-последовательность, управляющий символ "
      ".

  • @ProTradingAndCrypto
    @ProTradingAndCrypto 5 лет назад +5

    Вы молодец, спасибо большое за Ваши видео. Было еще круче, если бы Вы перестали постоянно говорить "и так". В вашем лексиконе это слово-паразит)

  • @user-tn2bz4yj7j
    @user-tn2bz4yj7j 4 года назад +1

    как самому через консоль вводить слова?

    • @not-materialist
      @not-materialist 3 года назад +1

      Через scanf наверно имеется ввиду

  • @igorseledtsov7345
    @igorseledtsov7345 3 года назад

    Тока это не работа с файлами , а работа с потоками ввода-вывода... С файлами это совсем другое...

  • @user-ql6yd8ul3f
    @user-ql6yd8ul3f 5 лет назад

    6+6=18 как это исправить?

    • @FromtheLAMERtotheProgrammer
      @FromtheLAMERtotheProgrammer  5 лет назад +3

      В школе научат как это исправить, иди в школу.

    • @faasfasasf8109
      @faasfasasf8109 4 года назад

      @@FromtheLAMERtotheProgrammer вижу, что ты до сих пор там,, и, скорее всего, в начальных классах.

    • @FromtheLAMERtotheProgrammer
      @FromtheLAMERtotheProgrammer  4 года назад +2

      @@faasfasasf8109 А ты похоже вообще в школу не ходил )

  • @playtopgames3261
    @playtopgames3261 3 года назад

    Ставьте скорость на 2

  • @SylkaMV
    @SylkaMV 9 месяцев назад

    Ни слова про потоки)

  • @aliqalandarov7250
    @aliqalandarov7250 5 лет назад +2

    цитата: "работа с файлОми"

  • @tecktsasa9076
    @tecktsasa9076 4 года назад

    Слушай, тебе для начала лекции нужно хорошенько подготовиться(т.к много оговорок делаешь да иногда и глупые(и одновременно простые)ошибки)

  • @Divider_SS
    @Divider_SS 4 года назад

    массирую простату микрофоном отсюда и шумы на заднем фоне

  • @user-wh7lz5de3r
    @user-wh7lz5de3r 3 года назад

    работа с файлОми