Problem Reading File in C++
Hi, I'm having trouble opening my file in visual studio. The fexists function returns true, but when gets to the loading in the file it gives me the following error: invalid NULL pointer. When debugging, it says error reading characters from string. The file in notepad looks like this: "1#2#3#4". Can anyone see a reason why this is occurring? Thanks!
Code:
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include<string>
using namespace std;
bool fexists(string filename)
{
ifstream ifile(filename);
return ifile;
}
int _tmain(int argc, _TCHAR* argv[])
{
string location = "C:\\Users\\Brittany\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication9\\ConsoleApplication9\\Debug\\test1.txt";
bool file_exists = fexists(location);
ifstream my_file (location);
int poundpos[12];
string mystring;
\ int i = 0;
string temp = 0;
int add = 0;
int temp1 = 0;
int length = 20;
while(getline(my_file, mystring))
{
//length = stoi(mystring.length);
istringstream liness(mystring);
for(i = 0; i < length; i++)
{
getline(liness, temp, '#');
temp1 = stoi(temp);
temp1 = poundpos[i];
add = poundpos[i] + add;
}
}
cout << (add);
my_file.close();
return 0;
}
Re: Problem Reading File in C++
Yes. In fexists, What type is ifile? what type are you returning from fexists? Where in your main program are you testing fexists return value?
Re: Problem Reading File in C++
Quote:
Originally Posted by
elephant1
... When debugging, it says error reading characters from string. The file in notepad looks like this: "1#2#3#4".
In what line of your code do you have this error?
Re: Problem Reading File in C++
Could you explain what you are btrying to do ?
There are a number of problems:
Code:
int poundpos[12];
// ...
int length = 20;
// ..
for(i = 0; i < length; i++)
{
getline(liness, temp, '#');
temp1 = stoi(temp);
temp1 = poundpos[i]; // 1. what happens if i>11 ?
// 2. where does poundpos[i] ever get set ?
// 3. you set temp1 ... but overwrite it right away
add = poundpos[i] + add;
}