簡體   English   中英

我如何用 ifstream 解決這個問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM