Bonjour !

je viens d implementer un code source c++ :

une fonction renvoyant un pointeur sur char, depuis un fichier.
un fichier lui-meme contenant le code source d un shader, afin de fournir le pointeur en question au code opengl afin de le compiler...

Merci de critiquer mon travail (en bien ou en mal, no souci)...
(j apprend de mes erreurs)

Et si ca peut etre utile a quelqu'un, c est coool !
merci.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
#include <iostream>
#include <fstream>
#include <string>
 
char* chargement(std::string nom)
{
    char* adresse = nullptr;
    int taille;
 
    std::ifstream flux(nom, std::ios::in);
    if(!flux){std::cout << "fichier " << nom << " introuvable !\n";}
 
    flux.seekg(0, std::ios::end);
    taille = flux.tellg();
 
    flux.seekg(0, std::ios::beg);
    for (int i = 0; i<taille; i++)
    {
        flux.read(adresse+i, sizeof(char));
    }
    // ajouter \0
    adresse[taille] = '\0';
    // fermer le fichier
    flux.close();
    // renvoyer adresse
    return adresse;
 
}