View difference between Paste ID: NFuc6VSx and 4ynw5fLD
SHOW: | | - or go back to the newest paste.
1-
// Task: This program finds and email address from incoming forlder called mail.dat and uploads it to a file called addresses.dat.
1+
#include <fstream>
2-
//
2+
// using std::ofstream, std::ifstream
3-
//
3+
#include <iostream>
4
// using std::cerr
5-
#include <iostream>							// including the iostream
5+
6
// using std::string
7-
#include <iomanip>
7+
8-
#include <fstream>							// including the fstream for files
8+
int main()
9
{
10-
using namespace std;
10+
  std::ifstream emails("mail.dat");
11
  std::ofstream addresses("addresses.dat");
12-
int main ()
12+
  if(! (emails && addresses)) {
13
    std::cerr << "Error opening" << std::endl;
14
    return 1;
15-
    ifstream emails; 						// declaring this as emails file stream
15+
  }
16-
    ofstream addresses;						// Declaring the output for addresses
16+
  for(std::string word; emails >> word; ) {
17-
    
17+
    if(word.find('@') == std::string::npos)
18-
    emails.open("mail.dat");				//opening the file stream mail.dat
18+
      continue; // not a mail
19-
    addresses.open("addresses.dat");			//opening the file stream addresses.dat
19+
    std::string::size_type last_n = word.length() - 1;
20-
    
20+
    char last = word[last_n];
21-
    string oneChar ;						//declaring a string of characters called
21+
    if(last == '>' || last == ',')
22-
											// onechar
22+
      word.erase(last_n);
23
    if(word[0] == '<')
24-
    string correct;							// declaring correct as the final correct string													
24+
      word.erase(0, 1);
25-
									// output
25+
    if(! (addresses << word).put('\n')) {
26
      std::cerr << "Error writing" << std::endl;
27-
    char at = '@';							// declaring @ as a char
27+
      return 1;
28
    }
29-
    while(emails)		 					// doing a while loop to scan the documents		 
29+
  }
30-
    {
30+
  return 0;
31-
   	 if (oneChar.find(at) != string::npos)	// if string is not equal to '@' then do 
31+