#include <stdio.h>
#include <stdlib.h>
#define INPUT_FILE "inputfile.in"
int main()
{
FILE *infile;
infile= fopen(INPUT_FILE, "r");
if(infile == NULL )
{
printf("Cannot open file, " INPUT_FILE "\n");
printf("Terminating program...\n");
system ("PAUSE");
}
fprintf(infile, "Testing...\n");
system ("PAUSE");
return 0;
}
practicing file IO
I'm trying to practice on file input and output..
I've created file called inputfile.in using notepad and only wrote the number 4 inside it.
I tried to make a program to read the number stored inside inputfile.in but unfortunately, it doesn't work.. It always enters the if function..
What am I doing wrong?
Are you sure the inputfile.in is in the current directory?
And that the filename is correct?
And that the filename is correct?
It is in the same directory where the code is saved, compiled, and run..
It keeps telling me that the file cannot be opened
It keeps telling me that the file cannot be opened
If you want to read the file try this
#include <stdio.h>#include <stdlib.h>#define INPUT_FILE "inputfile.in"int main(){ char buffer[256]; FILE *infile; infile= fopen(INPUT_FILE, "r"); if(infile == NULL ) { printf("Cannot open file, " INPUT_FILE "\n"); printf("Terminating program...\n"); return 1; } fgets(buffer, 256, infile); printf(buffer); fclose(infile); fgetc(stdin); return 0;}
Quote:Original post by nectron101
It is in the same directory where the code is saved, compiled, and run..
It keeps telling me that the file cannot be opened
If you are using the Visual Studio IDE, make sure that the input file resides in the same directory as the project file. That will be the default working directory VC++ uses when you run your program from within the IDE.
it still enters the if statement to terminate the program..
Is my if statement correct ?
The file i have is in the same directory and this is the code I'm doing now..
I still can't get it open the file and read from it.
thanks in advance
[Edited by - nectron101 on December 4, 2005 5:25:34 PM]
Is my if statement correct ?
The file i have is in the same directory and this is the code I'm doing now..
I still can't get it open the file and read from it.
#include <stdio.h>#include <stdlib.h>#define INPUT_FILE "inputfile2.in"int main(){ char buffer[256]; FILE *infile; infile= fopen(INPUT_FILE, "r"); if(infile == NULL ) { printf("Cannot open file, " INPUT_FILE "\n"); printf("Terminating program...\n"); system("PAUSE"); } fgets(buffer, 256, infile); printf(buffer); fclose(infile); fgetc(stdin); system("PAUSE"); return 0;}
thanks in advance
[Edited by - nectron101 on December 4, 2005 5:25:34 PM]
Sorry to double post..
But I'm working on a project that uses file input and output, and I must understand the concept and be able to apply it on my code.
Your responses mean a lot!
Thanks
But I'm working on a project that uses file input and output, and I must understand the concept and be able to apply it on my code.
Your responses mean a lot!
Thanks
Everything look good, by the way, the fgetc(stdin) was supposed to replace the pesky system("PAUSE") thing, but if you prefer it, thats up to you.
As darookie says, VC++ typically creates a new folder for each project called Debug. It places its executable target (the exe file) in this folder.
If this is the case, try to place the infile.in in the Debug folder, in other words, in the same folder as the <my prog>.exe file resides.
You can also give your program the full path to the file, to be 100% sure the program finds it.
something like
As darookie says, VC++ typically creates a new folder for each project called Debug. It places its executable target (the exe file) in this folder.
If this is the case, try to place the infile.in in the Debug folder, in other words, in the same folder as the <my prog>.exe file resides.
You can also give your program the full path to the file, to be 100% sure the program finds it.
something like
infile = fopen("C:\\myprogs\\myfolder\\infile.in", "r");
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement