Cómo mover un puntero de archivo en C++

Escrito por g.s. jackson | Traducido por beatriz sánchez
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo mover un puntero de archivo en C++
Los programadores pueden leer archivos en C++ usando los punteros de archivo incluidos. (Ablestock.com/AbleStock.com/Getty Images)

Los desarrolladores usan C y C++ como lenguajes de bajo nivel. Al contrario que otros lenguajes, como Python o Perl, C++ está más cerca de la estructura interna de una computadora. Esencialmente, esto quiere decir que las tareas que están más ocultas en otros lenguajes están presentes en C++. Una de estas tareas es la manipulación de archivos. C++ tiene algunas funciones incorporadas para leer un archivo usando punteros de archivo, pero requiere un determinado conocimiento sobre punteros y sobre cómo funcionan.

Nivel de dificultad:
Moderadamente difícil

Otras personas están leyendo

Necesitarás

  • Un editor de texto
  • Un compilador de C++ (g++) o un IDE de C++ (Microsoft Visual Studio)

Lista completaMinimizar

Instrucciones

  1. 1

    Abre un archivo con el código C++. Mira la estructura de este código como ejemplo:

    include <iostream>

    include <fstream>

    using namespace std;

    int main(){

    ifstream file; file.open("filename.txt");

    if(!file.is_open()){ cout << "File Not Open" << endl; return 0; }

    }

    Este código básico crea un objeto "ifstream" llamado "file", que sirve como flujo de entrada para el archivo. Después, la sentencia "if" comprueba si el archivo se ha abierto bien. Si no lo ha hecho, cualquier operación con el objeto ifstream lanzará una excepción.

  2. 2

    Navega por el archivo usando punteros de archivo internos. Los programadores mueven estos punteros con las funciones "tellg()" y "seekg()". La función tellg() devuelve la posición del puntero en el archivo como un entero:

    int location = file.tellg();

    La función seekg() en realidad mueve el puntero, basándose en la ubicación absoluta o en otra ubicación, incluyendo un desplazamiento.

    file.seekg(5); //mueve el punteroa a una ubicación absoluta file.seekg(4, ios::beg); //mueve el puntero cuatro posiciones desde el inicio del archivo

  3. 3

    Lee el tamaño del archivo usando punteros de archivo. Uniendo todos los ejemplos, las funciones de archivo en el objeto ifstream tomarán la posición de inicio, después moverán el puntero al final y recuperarán la posición final. La diferencia de estas posiciones es el tamaño de archivo en bytes.

    int start = file.tellg(); file.seekg(0, ios::end); int end = file.tellg();

    int size = (end - start);

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles