This blog is about providing theory as well as simple executable codes of different programming languages such as java, C, C++, and web programming, etc. This blog will be helpful to the IT students to learn about programming.

Wednesday, March 15, 2023

Write a program that reads a text file and creates another file that is identical except that every sequence of consecutive blank spaces is replaced by a single space.

 To solve this problem, we can follow these steps:

  1. Open the input file for reading and the output file for writing.
  2. Read the input file line by line.
  3. For each line, replace every sequence of consecutive blank spaces with a single space using the std::regex_replace function from the regex library.
  4. Write the modified line to the output file.

Here is the code:

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

int main() {

    // Open the input file for reading and the output file for writing
    ifstream infile("input.txt");
    ofstream outfile("output.txt");
    if (!infile) {
        cerr << "Error: Could not open input file.\n";
        return 1;
    }
    if (!outfile) {
        cerr << "Error: Could not open output file.\n";
        return 1;
    }

    string line;
    while (getline(infile, line)) {
        // Replace every sequence of consecutive blank spaces with a single space
        line = regex_replace(line, regex("\\s+"), " ");

        // Write the modified line to the output file
        outfile << line << '\n';
    }

    // Close the files
    infile.close();
    outfile.close();
    cout << "Conversion complete.\n";
    return 0;
}

In this example, we assume that the input file is named input.txt and the output file is named output.txt. We use the regex_replace function to replace every sequence of one or more whitespace characters (\s+) with a single space. Finally, we close the input and output files and print a message indicating that the conversion is complete.

Note: The program assumes that the input file exists and is readable. It does not handle errors that may occur during file operations, such as disk full or write errors.

No comments:

Post a Comment

If you have any doubts, please let me know

Slider Widget