Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 文件即使存在也未打开_C++_C++11 - Fatal编程技术网

C++ 文件即使存在也未打开

C++ 文件即使存在也未打开,c++,c++11,C++,C++11,在下面的程序中,它成功地将数据写入student.txt文件,但当我打开它并逐行打印文件时,它总是显示“未找到文件” 有人能帮我吗 ifstream Myfile; Myfile.open("student.txt"); if(!Myfile){ cout<<"Sorry file can't be opened" <<endl; exit(1); } else

在下面的程序中,它成功地将数据写入
student.txt
文件,但当我打开它并逐行打印文件时,它总是显示“未找到文件”

有人能帮我吗

    ifstream Myfile;


    Myfile.open("student.txt");


      if(!Myfile){
        cout<<"Sorry file can't be opened" <<endl;

        exit(1);
    }


        else
        { 

            // Use loop and read the names and ids from the file and display them 
        string line;
        while (getline(Myfile, line)){

        cout<<line<<endl;
    }

            // Close the file 
      Myfile.close();    
ifstreammyfile;
Myfile.open(“student.txt”);
如果(!Myfile){

cout检查文件的位置。根据IDE的不同,程序可以在项目的根文件夹或编译的二进制文件所在的文件夹中查找文件


只需指定文件的完整路径。

检查文件的位置。根据IDE的不同,程序可以在项目的根文件夹或编译的二进制文件所在的文件夹中查找文件


只需指定文件的完整路径。

您的应用程序有一个
“工作目录”
。这是它试图打开文件的目录

在您的情况下,文件可能不在正在运行的应用程序的
“工作目录”
中。因此解决方案是:

  • 将文件放入应用程序的
    “工作目录”
  • 更改应用程序
    “工作目录”
  • 使用
    绝对路径
    作为文件名

另请参见:

您的应用程序有一个
“工作目录”
。这是它试图打开文件的目录

在您的情况下,文件可能不在正在运行的应用程序的
“工作目录”
中。因此解决方案是:

  • 将文件放入应用程序的
    “工作目录”
  • 更改应用程序
    “工作目录”
  • 使用
    绝对路径
    作为文件名

另请参见:

写入后是否关闭了它?您正在使用相对路径打开它。您确定该路径是您期望的路径吗?“在以下程序中,它成功写入数据”您显示的代码不是一个完整的程序,并且在任何情况下都不会向任何文件写入任何数据。显示@JohnnyMopp yes第一部分,通过循环写入多行。然后关闭它。然后再次打开它。这是指令所说的。@Someprogrammerdude是的,程序的路径是正确的。写入后关闭了它吗?您正在打开它它具有相对路径。您确定该路径是您期望的路径吗?“在以下程序中,它成功写入数据”您显示的代码不是一个完整的程序,并且在任何情况下都不会向任何文件写入任何数据。显示@johnymapp yes第一部分,通过循环写入多行。然后关闭它,然后再次打开它。这是指令所说的。@Someprogrammerdude yes程序的路径是正确的。