Когда вы пишете
dieser[6] = 0;
Вы присваиваете значение 0 этому символу.Это значение сопоставляется с таблицей ASCII, когда программа выводит строку на экран.
Если вы посмотрите на таблицу ASCII , вы увидите, что символ со значением 0 равен NUL
, что является нулевым терминатором ,Это указывает на конец строки.
Итак, что происходит: вы вставляете символ конца строки в середину вашей строки.Когда функция printf читает строку, она находит этот символ и останавливается.Вот как ты получаешь эту обрезанную струну.