Je n'ai plus le warning en changeant le type de size de int a size_t :
static char* readShader(const char* filepath)
{
FILE* file;
size_t read_bytes = 0;
file = fopen(filepath, "r");
if (file == NULL)
{
printf("Could not open shader file");
return NULL;
}
fseek(file, 0L, SEEK_END);
const size_t size = ftell(file); // ici je change le type de size de int à size_t
fseek(file, 0L, SEEK_SET);
char* buffer = (char*)malloc(size + 1);
if (buffer == NULL)
{
printf("Could not allocate memory");
return NULL;
}
read_bytes = fread(buffer, sizeof(char), size, file);
buffer[read_bytes] = '\0';
fclose(file);
return buffer;
}
Cepandant ceci ne fonction pas en typecast size en size_t ;
static char* readShader(const char* filepath)
{
FILE* file;
size_t read_bytes = 0;
file = fopen(filepath, "r");
if (file == NULL)
{
printf("Could not open shader file");
return NULL;
}
fseek(file, 0L, SEEK_END);
const int size = ftell(file);
fseek(file, 0L, SEEK_SET);
char* buffer = (char*)malloc(size + 1);
if (buffer == NULL)
{
printf("Could not allocate memory");
return NULL;
}
read_bytes = fread(buffer, sizeof(char), (size_t)size, file); // ici je typecast size en size_t
buffer[read_bytes] = '\0';
fclose(file);
return buffer;
}