簡體   English   中英

在 C++ 中打開一個 ifstream 文件

[英]opening an ifstream file in C++

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main() {
    string txt="";
    ifstream file;
    file.open ("ernio.txt", ios::in);
    if (file.is_open()) {
        while (getline(file, txt)) {
            cout << txt << endl;
        }
    }
    else
        cout << "example" << endl;
    return 0;
}

它打印example而不是從文件中逐行讀取。 我究竟做錯了什么?!? (該文件與 main.cpp 位於完全相同的位置)我們甚至嘗試過:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main() {
    string txt="";
    ifstream file("ernio.txt");
    if (file.is_open()) {
        while (getline(file, txt)) {
            cout << txt << endl;
        }
    }
    else
        cout << "example" << endl;
    return 0;
}

請幫忙

該文件需要位於調用可執行文件的目錄中,而不是位於main.cpp所在的源目錄中。 當您使用gcc或類似的東西從命令行構建小程序時,可執行文件通常位於當前工作目錄中,編譯器也會從中提取源文件。

但是,在使用構建系統或 IDE 時,構建的目標通常與源所在的目標不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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