Need Help with C executable

  • Thread starter Aurel
  • Start date
  • #1
2
0

Main Question or Discussion Point

I've written the following code to experiment on reading from text files...however, the "fopen" statement is apparently returning a NULL pointer. What could be the problem here?...trial.txt is in the same directory as the executable. In addition, if I put return 1 after the printf("ERROR"); line...the executable window flashes as if system("pause") wasn't specified--how do i still get to view the executable after specifying return 1?? Also when i do a debug, it returns the error

MAIN-T~1.EXE: No such file or directory.
<gdb>

Now the part I really don't get...if i run this program from DOS...it works!...it prints Success and the content of the trial.txt file...how could that be?


#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{ FILE *ptr;
char c;
ptr=fopen("trial.txt", "r");
if(!ptr)
{ printf("ERROR");
}
else{ printf("Success");

while(1)
{
c=fgetc(ptr);
if(c!=EOF)
{
printf("%c",c);
}
else {break;}
}
printf("Now closing file...\n");
fclose(ptr);
system("PAUSE");
return 0;
}
}
 

Answers and Replies

  • #2
508
1
probably where you run the executable the path is not set to include the current directory (while in DOS it is)

You do not get the pause because if you return the rest of the code (after the return statement) is not executed, so to still have the pause you have to place the system("pause") before the return statement.
 
  • #3
299
1
If you're running Visual C++ it puts the executable in the 'debug' directory by default, or 'release' if you set it to that.

Put a path in the filename. If you're on Windows, remember that the backslash character is used as an escape character by C, so you have to double them up. For example:

"c:\\my files\\test\\debug\\trial.txt"
 
  • #4
2
0
Thanks alot ceptimus and gerben!

My code works now...the path was wrong....for some reason all my files are saved on the D: but DevC is in the C: drive....and I didn't think to put the system(pause) in that part of the code....but hey, all's well now...thanks alot!

Aurel.. :smile:
 

Related Threads on Need Help with C executable

  • Last Post
Replies
6
Views
3K
Replies
12
Views
846
Top