Ответы пользователя по тегу C
  • Почему затирается часть массива в Си?

    Alexeytur
    @Alexeytur
    allDisks[i] = s;
    здесь вы присваиваете переменной указатель на кусок памяти находящейся в переменной
    char buf[128];
    ,а эта переменная является локальной автоматической в функции, и после выхода этот кусок памяти переиспользуется программой.
    Как исправить: здесь
    allDisks[i] = s;
    создавать копию строки. Или использовать статический буфер. Точнее не подскажу, давно не работал с Си.
    Ответ написан
    Комментировать