C++: Leer de un fichero binario
Leer un fragmento de un fichero binario (cabecera MP3) usando C++
Lenguaje: C++ (compilador: G++ 4.5.2 Linux)
Categoría: Básico
// Fuente procedente de ErrorDeSintaxis.es
// Leer un fragmento de un fichero binario (cabecera
// MP3) usando C++
// Compilador: G++ 4.5.2 Linux
// Nivel: Básico
// Disponible desde 29/07/2011
// Aportado por Nacho
// Autor original: Nacho Cabanes
// Web original: http://www.aprendeaprogramar.com/mod/resource/view.php?id=345
#include <iostream> #include <fstream> using namespace std; int main () { fstream ficheroMp3; char marca[3]; ficheroMp3.open ("ejemplo.mp3", ios::in | ios::binary); // Compruebo si he podido abrir if (ficheroMp3.is_open()) { // Me coloco donde empieza el ID3 TAG ficheroMp3.seekg(-128, ios::end); // Leo 3 bytes ficheroMp3.read(marca, 3); // Digo si day datos o no if ((marca[0] != 'T') || (marca[1] != 'A') || (marca[2] != 'G')) cout << "Sin datos de artista" << endl; else cout << "Parece un MP3 con ID3 TAG" << endl; // Finalmente, cierro ficheroMp3.close(); } // Si no he podido abrir, aviso else cout << "Fichero inexistente" << endl; return 0; }