Добавление содержимого текстового файла в другой файл в C ++

Как вы можете открыть текстовый файл и добавить все его строки в другой текстовый файл в C ++? Я нахожу в основном решения для отдельного чтения из файла в строку и записи из строки в файл. Можно ли это элегантно сочетать?

Не всегда считается, что оба файла существуют. При доступе к каждому из файлов должен быть возврат bool.

Извините, если это уже не по теме: является ли добавление текстового содержимого в файл бесконфликтным в том смысле, что несколько программ могут делать это одновременно (порядок строк НЕ имеет значения)? Если нет, то что было бы (атомарной) альтернативой?