C++ fstream 找不到相对路径

C++ fstream Won't Find Relative Path

问题如下。我正在使用 Microsoft Visual Studio 并且 admissions.txt 与 .cpp、.h 和 .sln 文件位于同一文件夹中,但程序找不到相对路径。明确说明路径也不起作用。我现在只关心让 ifstream 正常工作。

/*
A new aquarium just opened up and your boss would like you to write a short program that allows him / her to calculate the number of tickets sold and money brought in for ticket sales.
There are different types of tickets you can buy : All - Access, Gold, and Silver.
The data for ticket sales will be stored in the file admissions.txt with the following format where the first column represents the ticket cost and the second the number of tickets sold.
150.00 89
56.50 300
45.25 450

The first line indicates that the ticket price is 0.00 and that 89 tickets were sold at that price.Output the total number of tickets sold and the total sale amount for ALL tickets.Format your output with two decimal places.

Sample input file :
226 1761
153 28513
62 35779

*/

include fstream
include iostream
include string

using namespace std;


int main()
{

    ifstream inFileData;

    string line1;
    string line2;
    string line3;

    inFileData.open("admissions.txt"); //contains sample input

    inFileData >> line1;
    inFileData >> line2;
    inFileData >> line3;

    cout << line1;
    cout << line2;
    cout << line3;

    inFileData.close();

    system("pause");

    return 0;
}

您可以使用此程序生成测试文件。无论它在哪里生成所述文件,您的输入文件都必须是。在我的例子中,它与 VS 调试器的 .vcxproj 相关,并且在使用 .exe 时与 .exe 在同一目录中。

#include <iostream>
#include <fstream>

int main() {
    std::ofstream file("relative_path_test.txt");

    if (file.is_open()) {
        file << "Test file";
    }

    file.close();

    return 0;
};

在您的程序中添加一个system("dir"),以查看程序运行时您所在目录的路径。从那里你应该能够找出文件的正确路径是什么。