Mam problem w sytuacji kiedy konsola jest zwężona. Otóż pozostają śmieci ( pole "Destination" ) z wcześniejszego przebiegu pętli, która drukuje tekst i po tym przestawia kursor o 2 pozycje do góry + kasowanie linii.
Fragment pętli kodu wygląda tak:
// status aktualnie przetwarzanego pliku
printf("File: %s | Resolution: %ix%i | Resize: %ix%i\033[K\n", buffer, width, height, nwidth, nheight);
// zmiana wielkosci i stopien kompresji aktualnego pliku graficznego
MagickResizeImage(mWand, nwidth, nheight, filter, 1);
MagickSetImageCompressionQuality(mWand, 90);
// buffer: pelna sciezka do przekonwertowanego pliku
sprintf(buffer, "%s/%s", pathDest, *(files+i));
// zapis przekonwertowanego pliku do nowej lokalizacji
MagickWriteImage(mWand, buffer);
// drukowanie informacji o przebiegu konwersji
printf("%3i) Destination: %s\033[K\n", i+1, buffer);
progressBar(i, total, 20);
printf("\033[F\033[F\033[K"); // przesuniecie kursora 2 stopnie do gory wraz z kasowaniem zawartosci tej czesci ekranu
Jeśli nie ma łamania linii w konsoli to jest OK:
Po zmniejszeniu szerokości konsoli i rozciągnięciu go do prawidłowej wielkości mam dodatkowe śmieci ( pole "Destination" ):