954,167 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

OS 9.2 freez on new mem alloc ("new" opperator)

Hello,
I really don't know if this is more of a Mac of C++ question but.. I am doing a loading of a file with
"
short CSVload (char * filename) //called from main
{
//openning a file and checking if it exists
FILE * datafile = NULL;
if ((datafile=fopen (filename, "r"))==NULL)
{
printf ("\nError - no file found");
return -1;
}
//finding size of the file
fseek (datafile,0,SEEK_END);
int filesize = ftell (datafile);
rewind (datafile);
//allocating a string of a size of a file
char * data;
data = new char (filesize+2); //+2 just to be safe
//reading file (I am using getc but I simplified for this post)
fscanf (datafile,"%s", data);
//closing file
fclose (datafile);
//printing the file
printf ("\nThe data is:\n%s",data);
//deleting data
delete [] data;
//returning success
return 0;
}
"
and the program seems to be freezing every time I call this function.. I have asked somebody why this code doesn't work on OS 9.2 on G3 and the answer was that maybe I am allocating onto the system memory since OS9.2 doesn't protect it's memory like win2k or redhat 9.0 linux (my other systems). My compiler is a very old Code Warrior 7.0 Gold Edition (I usually don't use Mac's, nor this version of CW (I am only doing mac now because of my internship)).
If you can, please help,
Thank you in advance,
Ilya
:sad:

Valmian
Junior Poster in Training
82 posts since Sep 2003
Reputation Points: 13
Solved Threads: 0
 

in my mind Linux is the best way to go when programming c/c++

big_k105
PFO Founder
Team Colleague
357 posts since May 2003
Reputation Points: 36
Solved Threads: 2
 

The code does, indeed, work in windows or linux? Sorry, I'm not all that familiar with any mac development tools.

cscgal
The Queen of DaniWeb
Administrator
19,421 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 229
 

I actually solved that problem. And am quitee further in the program now. I am using fgets () to get the string (each string gets an feof () check) and then am parsing the string fith strtok after duplicating it with a self made (my compiler at General Atomics (internship) is not using std libs unfortunatly so I have to often make my own) strdup(); But I am way oer the loading stage now...
Ilya
P.S.: Thanks for paying attention though

Valmian
Junior Poster in Training
82 posts since Sep 2003
Reputation Points: 13
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: