Решение задачи с файлами

Очень нужна помощь в решении задачи
//Задан текстовый файлInput.txt, состоящий из слов.Разделителями между словами является некоторое множество знаков препинания
//Найти в каждой строке слова, состоящие из заглавных букв, удалить и дописать в начало строки.
//Результатзаписать в новый файл Output.txt.Упорядочить слова в полученных строках по убыванию длин слов,
//результат сортировки записать в файл Out_sort.txt.

В чем именно проблема, что пробовали делать?

Я не знаю как удалить слово и поставить потом его в начало строки

И ещё проблема в том, что я не понимаю как найти слово, которое полностью состоит из заглавных букв

Например с помощью strtok можно слова доставать Splitting a string using strtok() in C

смотреть, что все символы isupper https://cplusplus.com/reference/cctype/isupper/

Т.к Я считаю текст с файла
То я не могу задать s[i]

Можно в строку всё прочитать сначала.

Ну или если зачем-то надо читать посимвольно, то просто самому смотреть что прочиталось, разделитель или нет, добавлять к слову, слова в массив и т.д.

Я не знаю как читать из файла, поэтому в интернете я нашла как читать только по символам

Так в интернете несложно и как читать в строку найти )
например
С: https://stackoverflow.com/a/174552/964478
С++: Read whole ASCII file into C++ std::string - Stack Overflow
getline еще можно если там одна строка.

Спасибо