hola jhonny6721.
bueno mira yo no programo mucho en c++ pero lo unico que hise fue pasar la bariable buffer como global y creo otra simplemente le asigne el balor de buffer y se imprimio correctamente y pues se volvio a imprimir el valor del archivo nose si es esto lo que queria pruebalo.
Código C++:
Ver original#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
char *buffer, *dos;
int load_file_in_memory(char *buffer, char path[]);
int main(){
char path[] = "C:\\codigo.txt";
load_file_in_memory(buffer, path);
cout << "Accediendo al puntero desde fuera de la funcion: " << endl;
cout << dos << endl;
}
int load_file_in_memory(char *buffer, char path[]){
/*************************************************************
CARGA ARCHIVO EN MEMORIA.
*************************************************************/
unsigned int size_of_file;
std::ifstream file;
file.open(path, ios::binary);
///Siempre verifica que el archivo haya abierto correctamente
if(file.bad()){
cout << "Lo siento. Fallo el archivo!!" << endl;
return -1;
}
///Se posiciona en el ultimo byte para obtener tamaño.
file.seekg(0, ios::end); ///Se va a la úlitma posicion
size_of_file = file.tellg(); ///Obtiene cual es dicha posicion, es decir la longitud de archivo
file.seekg(0, ios::beg); ///Va al principio el puntero.
buffer = new char[size_of_file];
file.read(buffer, size_of_file);
dos = buffer;
file.close();
cout << "Mirando el contenido del puntero dentro de la funcion" << endl;
cout << buffer << endl;
/*************************************************************
FIN DE CARGA EN MEMORIA
**************************************************************/
}
bueno amigo espero haber ayudado.
saludo drewermerc.