xcode stream problem

Joined
Jul 9, 2008
Messages
1
Reaction score
0
Points
1
when I run this I get a bus error.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

// Forward Declarations

//Post: opens file fname, reads file, returns an dynamic arrary of integers
// arrSz is passed by reference to keep track of size of dynamic array
void readData(string fname,int & arrSz);



int main (int argc, char * const argv[]) {
int filesize = 0;


readData("example.txt", filesize);



return 0;
}


// Reads contents of file into an array
// returns array, arrSz records the array size
void readData(string fname, int & arrSz){

//Declare Variables
int* result = NULL;
arrSz = 0;
int temp;

//Create a file object and open the file
ifstream inStream;
inStream.open(fname.c_str());

//only process file if opening it is successful
if(!inStream.fail()){
//find out how big the file is
while(!inStream.eof()){
arrSz++;
inStream >> temp; //reads line intotemp and moves to the next line
}

//admin functions to refresh file
inStream.close();
inStream.clear();
inStream.open(fname.c_str());

//Read file contents into result, now that size is known
result = new int[arrSz]; //creates results array

//reads contents into array
for(int i; i < arrSz; i++){
inStream >> result;
}
inStream.close();
}
cout << result[0];
}

I think the problem is in the argument "example.txt" When I get rid of the string fname parameter and just put the file name directly into inStream.open then it works fine. Any ideas?

Thanks
 

Shop Amazon


Shop for your Apple, Mac, iPhone and other computer products on Amazon.
We are a participant in the Amazon Services LLC Associates Program, an affiliate program designed to provide a means for us to earn fees by linking to Amazon and affiliated sites.
Top