Здравствуйте. Есть несколько комментариев.
1. Приведенный в вопросе код не выполняет задекларированную функцию. Во-первых, в коде не инициализирована переменная у, а значит в ней находится какое-то случайное число (мусор). Прибавление к мусору другого числа дает в результате мусор. Во-вторых, в коде отсутствует чтение переменной y из файла, а присутствут только запись ее в файл.
2. В языке Си нет встроенных методов работы с кодировкой base64. Тут либо надо делать все самому (например так
https://stackoverflow.com/questions/342409/how-do-...), либо искать в интернете готовую библиотеку, которая будет предоставлять функциональность кодирования в base64 и зате подключать ее к вашему проекту (что само по себе может вызвать сложности).
После анализа пунктов 1 и 2 алгоритм решения вашей задачи будет следующий:
1. Открытие файла на чтение и чтение оттуда строки в кодировке base64.
2. Декодирование строки из кодировки base64 и перевод полученной строки в число.
3. Прибаление к числу заданного слагаемого
4. Перевод полученного числа в кодировку base64
5. Открытие файла на запись и запись туда строки в формате base64.
Разумеется, случаи, когда отсутствует файл или к нему нет доступа, в файле находится неверные данные и тп. тоже должны быть учтены.