Vissza

C++, állomykezelés
Szövegállomány tartalmának feldolgozása:
  • hány bájtot, illetve hány nagybetűt tartalmaz a "szoveg.txt" állomány
  • nagybetűsítjük a "szoveg.txt" állomány tartalmát
#include <iostream>
#include <fstream>

using namespace std;

int file_work(char *inf);
int file_upper(char *inf, char *outf);

int main() {
    file_work("szoveg.txt");
    file_upper("szoveg.txt", "nSzoveg.txt");
    cout << "succesful done..." << endl;
    return 0;
}

int file_upper(char *inf, char *outf)
{
    ifstream in(inf);
    if (!in.is_open()) {
        cout << "Error opening in_file\n";
        return 0;
    }

    ofstream out(outf);
    if (!out.is_open()) {
        cout << "Error opening out_file\n";
        return 0;
    }

    char str;
    int db = 0;
    while(true){
        in >> noskipws >> str;
        if (in.eof()) break;
        if (isalpha(str))
            str = toupper(str);
        out << str;
    }
    in.close();
    out.close();
    return 0;
}

int file_work(char *inf)
{
    ifstream in(inf);
    if (!in.is_open()) {
        cout << "Error opening in_file\n";
        return 0;
    }

    in.seekg(0, ios::end);
    int fsize = in.tellg();
    in.seekg(0, ios::beg);
    cout << "Az allomany bajt merete: " << fsize << endl;

    char str;
    int db = 0;
    for (int i = 0; i < fsize; ++i) {
        in >> str;
        if (str >= 'A' && str <= 'Z') db++;
    }
    in.close();
    cout << "A nagybetuk szama: " << db << endl;
    return 0;
}