Если речь о windows, то: - для получения пути к файлу можно воспользоваться стандартными диалогами, которые открываются функциями GetOpenFileName - для открытия (возращает полный путь) и GetSaveFileName (тоже, что и предыдущая, только имеет заголовок "Сохранить как". - для собственно открытия/сохранения можно воспользоваться ReadFile и WriteFile соответственно. Ну, а для чтения файла в память ее нужно выделить. Можно воспользоваться VirtualAlloc/VirtualFree или морально устаревшей GlobalAlloc/GlobalFree. Также есть HeapAlloc/HeapFree. чтобы узнать размер файла (для того, чтобы знать, сколько памяти под него выделить) - GetFileSize.