Copy and convert tabs to spaces. : File Utility « File « C++






Copy and convert tabs to spaces.

 

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

int main(int argc, char *argv[])
{
  if(argc!=3) {
    cout << "Usage: CPY <in> <out>\n";
    return 1;
  }

  ifstream in(argv[1]);
  if(!in) {
    cout << "Cannot open input file.\n";
    return 1;
  }

  ofstream out(argv[2]);
  if(!out) {
    cout << "Cannot open output file.\n";
    return 1;
  }

  char ch;
  int i = 8;
    
  while(!in.eof()) {
    in.get(ch); 
    if(ch=='\t') 
       for( ; i>0; i--) 
          out.put(' ');
    else out.put(ch);
    if(i == -1 || ch=='\n') i = 8;
    i--;
  }

  in.close();
  out.close();

  return 0;
}


           
         
  








Related examples in the same category

1.Read and display a text file line by line.
2.Display contents of specified file in both ASCII and in hex.
3.Create a file comparision utility.
4.Copy a text file and display number of chars copied.
5.Word count for input file: file read with ifstream
6.Copy files
7.Copy a file and display number of chars copied.
8.Concatenate files
9.Swap characters in a file.
10.Swap characters in a file with error checking.
11.Copy a file and reverse case of letters.
12.Count letters.
13.Copy a file and reverse case of letters with error checking.
14.Search file.