J'essaie d'écrire une fonction courte qui me permettra de lire rapidement dans un fichier de taille inconnue et de renvoyer le pointeur vers le tableau de données et la longueur de ce tableau, mais il semble mon code ne fonctionne pas. Qu'est-ce que je fais mal?lire un fichier de longueur inconnue avec une fonction
int readIn(int* pointer, param parameters, string description)
{
string fileName = parameters.fileName + " " + description + ".bin";
ifstream readFile;
readFile.open(fileName.c_str(), ios::in|ios::binary|ios::ate);
int size = readFile.tellg();
int length = size/4;
int* output = new int [length];
readFile.seekg (0, ios::beg);
readFile.read(reinterpret_cast<char*>(output), (size));
readFile.close();
pointer = output; // link new array with the pointer
return length;
}
et dans la fonction principale:
int* testList;
int numEntries = readIn(testList, parameters, "test");
je me retrouve avec une erreur en disant que ma variable TestList a été utilisé et non initialisé. Qu'est-ce que je fais mal?
Merci beaucoup. – Faken
Pas de problème. Dans votre cas, le changement le plus simple peut être de renvoyer un int * et de renvoyer la longueur en paramètre. C'est si vous voulez éviter les pointeurs vers les pointeurs. –