Os cuento mi problema a ver si alguien me puede echar una mano.
Tengo que hacer un servidor http simple que pueda enviar tanto archivos como imágenes. El tema es que implementé una función para gestionar la apertura de los ficheros que me da un error de segmentación cuando intento abrir un archivo imagen .jpg
La cuestión es, ¿hay que usar una función diferente para los archivos imagen y para los de texto plano?
Os dejo el código por si sirve de algo.
El fallo lo da entre las línea 27 y 29.
Gracias por adelantado.
Código c++:
Ver original
char *tratamiento_fichero (char *buffer, int total_recibidos) { int i; char *copia,*copia2; ifstream f_entrada; cout << "->\tMensaje HTTP de petición:\n"<<buffer << endl; copia = buffer + 5; f_entrada.open (copia,ios::binary); if (copia2 != NULL) *copia2 = '\0'; if (DEBUG) cout << "->\tArchivo: " << copia << endl; //Recuperación del archivo. if (f_entrada.fail()) { f_entrada.clear(); return metodos(404); } f_entrada.seekg(0,ios::end); int tamanho =f_entrada.tellg(); f_entrada.seekg(0,ios::beg); char *caracter = new char (tamanho); while (!f_entrada.eof()) f_entrada.read(caracter, tamanho); f_entrada.close(); caracter [tamanho]= '\0'; return caracter;//buffer_retenido; }