C ++ ifstream不会打开任何文件

时间:2012-03-28 01:45:57

标签: c++ visual-c++ ifstream

每当我尝试使用ifstream打开文件时,它编译得很好,但不会打开文件。 此示例中的文件不存在,但ifstream * s *应该* s *为我创建文件。

我有一些示例代码,我认为应该可以工作,但不会打开或创建文件 “foo.txt的”。有什么东西我不见了,或者我的IDE搞砸了? 我正在使用visual studio 2008 VC ++,btw

感谢

这是代码:

#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;
}

2 个答案:

答案 0 :(得分:1)

问题是你正在使用in stream而不是out stream,正如Adam Liss所提到的那样(ios::out而不是ios::in)。您还需要确保在return 0;之前关闭文件,以确保缓冲区中的所有内容都实际写入文件。

答案 1 :(得分:1)

open函数不会以ios::in模式创建文件;你需要使用ios::out