Files
auth_service_c/src/file.c
T
2025-08-22 17:46:38 +07:00

34 lines
663 B
C

#include "file.h"
#include <stdio.h>
#include <stdlib.h>
char *read_file(const char *path) {
FILE *fp = fopen(path, "rb");
if (fp == NULL) {
perror("Error opening file");
return nullptr;
}
fseek(fp, 0, SEEK_END);
long file_size = ftell(fp);
rewind(fp);
char *buffer = (char *) malloc(file_size + 1);
if (!buffer) {
perror("Error allocating memory");
fclose(fp);
return nullptr;
}
size_t bytes_read = fread(buffer, 1, file_size, fp);
if (bytes_read != file_size) {
perror("Error reading file");
free(buffer);
fclose(fp);
return nullptr;
}
buffer[file_size] = '\0';
fclose(fp);
return buffer;
}