Contando Caracteres en un Archivo Utilizando C++

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a contar la ocurrencia de un carácter en un archivo utilizando la programación C++. Crearemos un programa en C++ que lea un archivo y cuente el número de veces que aparece un carácter particular en el archivo.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/BasicsGroup -.-> cpp/data_types("Data Types") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/conditions("Conditions") cpp/ControlFlowGroup -.-> cpp/while_loop("While Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/variables -.-> lab-96159{{"Contando Caracteres en un Archivo Utilizando C++"}} cpp/data_types -.-> lab-96159{{"Contando Caracteres en un Archivo Utilizando C++"}} cpp/strings -.-> lab-96159{{"Contando Caracteres en un Archivo Utilizando C++"}} cpp/conditions -.-> lab-96159{{"Contando Caracteres en un Archivo Utilizando C++"}} cpp/while_loop -.-> lab-96159{{"Contando Caracteres en un Archivo Utilizando C++"}} cpp/output -.-> lab-96159{{"Contando Caracteres en un Archivo Utilizando C++"}} cpp/files -.-> lab-96159{{"Contando Caracteres en un Archivo Utilizando C++"}} cpp/code_formatting -.-> lab-96159{{"Contando Caracteres en un Archivo Utilizando C++"}} end

Crear un archivo

Primero, necesitamos crear un archivo con algún texto en él. Vamos a crear un archivo llamado example.txt en el directorio ~/project y escribirle algo de texto. Para hacer esto, ejecuta el siguiente comando en la terminal:

echo -e "This is an example file\nIt contains some text" > ~/project/example.txt

Incluir archivos de encabezado

En este paso, incluye los archivos de encabezado necesarios, iostream y fstream. iostream es necesario para las operaciones de entrada y salida, y fstream es necesario para las operaciones de manipulación de archivos. Crea un nuevo archivo llamado main.cpp en el directorio ~/project y dile a un editor de texto que lo abra.

#include <iostream>
#include <fstream>
using namespace std;

Definir variables

En este paso, definimos las variables filename para el archivo de entrada, ch para almacenar el carácter actual que el programa está leyendo y count para contar el número de veces que el carácter aparece en el archivo.

string filename = "example.txt";
char ch;
int count = 0;

Abrir y leer el archivo de entrada

En este paso, creamos un objeto ifstream para abrir el archivo de entrada example.txt en modo lectura. Luego utilizamos un bucle while para leer el archivo carácter por carácter. Utilizamos la función get() para leer un carácter a la vez desde el archivo. Comprobamos si el carácter leído coincide con el carácter que queremos contar. Si el carácter actual coincide, incrementamos la variable count.

ifstream fin(filename,ios::in);

while(fin.get(ch)){
    if(ch == 'e')
        count++;
}

Mostrar el resultado

En este paso, mostramos el número de veces que el carácter aparece en el archivo. También cerramos el archivo de entrada.

cout << "The number of times 'e' appears in file is: " << count;
fin.close();

Compilar y ejecutar el programa

En este paso, compilamos el programa C++ y lo ejecutamos para contar la ocurrencia de un carácter en el archivo. Abra la terminal y vaya al directorio ~/project, y ejecute el siguiente comando:

g++ main.cpp -o main && ./main

Esto compilará y ejecutará el archivo main.cpp. La salida mostrará el número de veces que el carácter aparece en el archivo.

El código final del archivo main.cpp es el siguiente:

#include <iostream>
#include <fstream>
using namespace std;

int main(){
    string filename = "example.txt";
    char ch;
    int count = 0;

    ifstream fin(filename,ios::in);

    while(fin.get(ch)){
        if(ch == 'e')
            count++;
    }

    cout << "The number of times 'e' appears in file is: " << count;
    fin.close();

    return 0;
}

Resumen

En este laboratorio, hemos aprendido cómo contar el número de veces que aparece un carácter particular en un archivo utilizando la programación en C++. Leímos un archivo carácter por carácter utilizando un objeto ifstream y contamos el número de veces que aparece el carácter requerido. También mostramos el resultado en la consola.