Задать вопрос
boypush
@boypush
Geek

Как дописывать число в файл со сложением через base64?

Приветствую!
Подскажите, к примеру есть код который записывает число прибавляя его уже к записанному:
FILE *S1;
int y;
S1 = fopen("wallet.txt", "w");
y += 30;
fprintf(S1, "%d\n", y);
fclose(S1);
Как выполнять туже операцию но пропуская 3 раза через base64 чтобы число было записано в base64?
  • Вопрос задан
  • 207 просмотров
Подписаться 2 Простой 21 комментарий
Пригласить эксперта
Ответы на вопрос 2
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Вместо числа пишите в файл строку. Строку получайте прогоняя число через какую-то библиотеку с base64 функцией.
Ответ написан
Комментировать
Здравствуйте. Есть несколько комментариев.
1. Приведенный в вопросе код не выполняет задекларированную функцию. Во-первых, в коде не инициализирована переменная у, а значит в ней находится какое-то случайное число (мусор). Прибавление к мусору другого числа дает в результате мусор. Во-вторых, в коде отсутствует чтение переменной y из файла, а присутствут только запись ее в файл.
2. В языке Си нет встроенных методов работы с кодировкой base64. Тут либо надо делать все самому (например так https://stackoverflow.com/questions/342409/how-do-...), либо искать в интернете готовую библиотеку, которая будет предоставлять функциональность кодирования в base64 и зате подключать ее к вашему проекту (что само по себе может вызвать сложности).

После анализа пунктов 1 и 2 алгоритм решения вашей задачи будет следующий:
1. Открытие файла на чтение и чтение оттуда строки в кодировке base64.
2. Декодирование строки из кодировки base64 и перевод полученной строки в число.
3. Прибаление к числу заданного слагаемого
4. Перевод полученного числа в кодировку base64
5. Открытие файла на запись и запись туда строки в формате base64.

Разумеется, случаи, когда отсутствует файл или к нему нет доступа, в файле находится неверные данные и тп. тоже должны быть учтены.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы