Whenever I try to open a file with ifstream, it compiles fine, but will not open the file.
The file in this example doesn’t exist, but ifstream *s*should*s* create the file for me.
i have some example code that i think should work, but does not open or create the file
“foo.txt”. Is there something that i’m missing, or is my IDE just messed up?
i’m using visual studio 2008 VC++ , btw
thanks
here’s the code:
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
ifstream in;
string hold;
in.open("foo.txt",ios::in);
if(!in){
cerr << "Couldn't open file!" << endl;
}
in >> hold;
cout << hold << endl;
system("pause");
return 0;
}
The problem is you are using an in stream instead of an out stream, as Adam Liss mentioned(
ios::outrather thanios::in). You also need to make sure you close the file beforereturn 0;to make sure everything from the buffer is actually written to the file.