[英]how i could solve this problem with ifstream
当我运行此代码时,它仅适用于 Visual Studio,在线编译器中总是告诉我“无法打开文件”
#include <iostream>
#include<fstream>
#include<string>
#include<iomanip>
using namespace std;
ifstream input("C:/Users/ACER/Desktop/words.txt");
if (!input.is_open())
{
cout << "cant opening file";
return 0;
}
当您尝试在在线编译器上使用代码时,大多数时候您实际上是在他们的服务器上编译代码,而不是在您的计算机上。
这意味着当您尝试打开"C:/Users/ACER/Desktop/words.txt"
时,实际上是在尝试打开位于其服务器上的文本文件。 而且在大多数情况下,除了您所在的目录之外,您不会被允许查找任何目录。即使由于某种原因您被允许这样做,他们也有可能在同一位置的服务器上拥有该文本文件会非常低。
上面的一些评论提到,许多在线编译器通常不具备操作文件的功能。 我经常使用的一个确实有能力这样做,以防您正在寻找一个: https://replit.com/@Ranoiaetep/IndianredSquigglyPrinters 。请注意,工作目录默认为您的根目录。
在线编译器可能无法使用 C++ 代码在您的计算机上打开文件,因为这不是 web 的工作方式。 它必须通过一些 Javascript 系统进行路由,这是可以创建的,但是创建者在设置编译器时似乎没有实现。
您可以尝试使用file://C:/Users/ACER/Desktop/words.txt
并仔细检查您的路径。 Web 浏览器在访问本地文件时使用该file://
,即如果您的计算机上有一个 web 页面,它可能类似于file://C:/Users/ACER/Documents/index.html
如果这不起作用,它只是没有能力加载或保存这样的本地文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.