Hey guys, I couldn't really think of what to call this error in the title, so here goes.
I'm starting an assignment where I have to read the contents of a file, perform some calculations and write the contents + the new calculations to a file.
I wrote the code to read in the file, and to right away write it into an output file to test if the read happened correctly. As I did that, I see ofstream writing my "filename" string(used to ask the user for the name of the file to open) into the file in random places, and there is no mention of it in the code.
Here is my code:
#include <string>
#include <fstream>
#include <vector>
#include <iostream>
using namespace std;
int main()
{
char filename[256] = "";
char currentLine[256] = "";
cout << "Please enter the name of the input file: " << endl;
cin.getline(filename,256);
vector <string> storage;//disregard for now
ifstream infile;
infile.open(filename);
string outputFile = ".output";
outputFile = filename + outputFile;
ofstream outfile(outputFile.c_str());
string line = "";
while(!infile.eof())
{
infile.read(currentLine, 256);
line = currentLine;
storage.push_back(line); //disregard for now
outfile << line; //testing to see if it read properly
}
}
Here is the input text:
1034 BLUE ELECTRIC FROBULATOR 5 1026
1039 GREEN ELECTRIC FROBULATOR 10 1026
1054 BLUE ELECTRIC DEFROBULATOR (MAGNESIUM COATING) 7 2000
1069 JELLO HAMMER V2 111 12
1050 BELL SILENCER 0 50
1090 SNAKE OIL 34 150
1070 MECHAGODZILLA COSTUME (PINK) 1 5000
1090 REFROBULATOR 3 9999
1091 REFROBULATOR REFILL (PACK OF 5) 1 4999
1092 REFROBULATOR REFILL (PACK OF 10) 1 8999
2003 FROBULATION TODAY (MAR) 4 5
2004 FROBULATION TODAY (APR) 9 5
2005 FROBULATION TODAY (MAY) 2 5
3102 FROBULATOR CUSTOMER WARRANTY 2YR 3 199
3103 FROBULATOR CUSTOMER WARRANTY 3YR 3 299
and here is the output text:
1034 BLUE ELECTRIC FROBULATOR 5 1026
1039 GREEN ELECTRIC FROBULATOR 10 1026
1054 BLUE ELECTRIC DEFROBULATOR (MAGNESIUM COATING) 7 2000
1069 JELLO HAMMER V2 111 12
1050 BELL SILENCER 0 50
1090 SNAKE OIL 34 150
1070 MECHAGODZILLA COSTUME (PINK) 1 5000
1090 Rinvoice.txtEFROBULATOR 3 9999
1091 REFROBULATOR REFILL (PACK OF 5) 1 4999
1092 REFROBULATOR REFILL (PACK OF 10) 1 8999
2003 FROBULATION TODAY (MAR) 4 5
2004 FROBULATION TODAY (APR) 9 5
2005 FROBULATION TODAY (MAY) 2 5
3102 FROBULATOR CUSTOMER WARRANTY 2YR 3 199
3103 invoice.txtFROBULATOR CUSTOMER WARRANTY 3YR 3 299
FILL (PACK OF 5) 1 4999
1092 REFROBULATOR REFILL (PACK OF 10) 1 8999
2003 FROBULATION TODAY (MAR) 4 5
2004 FROBULATION TODAY (APR) 9 5
2005 FROBULATION TODAY (MAY) 2 5
3102 FROBULATOR CUSTOMER WARRANTY 2YR 3 199
3103 invoice.txt
As you can see the "invoice.txt" shouldn't be in the output. Now what am I missing?