当我打开一个文件时,什么都不会显示 - C ++

时间:2017-02-20 10:36:39

标签: c++ c++11

前提:我正在使用CLion。

正如我在标题中所说,当我尝试打开文件(txt)时,不会显示任何内容。 我无法解释,我不认为我犯了错误,这段代码非常简单:

#include <iostream>
#include <cstdlib>

using namespace std;

int main() {

FILE *leggi;
leggi = fopen("lorem.txt", "r");

char datiLetti[1000];

while(fgets(datiLetti, 1000, leggi)!=NULL){
    cout << datiLetti << endl;
}

fclose(leggi);


system("PAUSE");
return EXIT_SUCCESS;
}

文件“lorem.txt”位于项目的同一目录中。 提前谢谢。

EDIT1:文件是lorem而不是lorem_ipsum,我在这里打字时的错误。

3 个答案:

答案 0 :(得分:1)

你想要这个:

...
FILE *leggi;
leggi = fopen("lorem.txt", "r");

if (leggi == NULL)
{
  cout << "Can't open file" << endl;
  return 1;
}
...

答案 1 :(得分:0)

--- --- FIXED 安装了cygwig1.dll和cygstdc ++ - 6.dll并将cygwig放入glob变量中,然后我的文件在main和exe的同一目录下工作。 但是,谢谢你们的时间!

答案 2 :(得分:-1)

fopen是一个用于打开文件的C解决方案,如果你想在c ++中使用fstream打开一个文件,比如流动的代码。 fopen在c ++ 11中已弃用。

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
    string line;
    fstream myfile;
    myfile.open("example.txt");
    cerr << "Error: " << strerror(errno);
    if (myfile.is_open())
    {
        while (getline(myfile, line))
        {
            cout << line << '\n';
        }
        myfile.close();
    }

    else cout << "Unable to open file";

    return 0;
}