通过ifstream在C ++中查找文件时遇到麻烦

时间:2019-05-03 22:37:21

标签: c++

我已经尝试了5次此程序,但仍然找不到我为其提供路径的文件。基本上我该如何指定文件路径

#include<iostream>
#include<conio.h>
#include<fstream>
#include<stdio.h>
#include<string.h>
using namespace std;

int main()
{
    ifstream infile("C:\\Users\Dell\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C++ Project\y.txt");
    char a[20];
    if (!infile)
        cout<<"file doesnt exists";
    else
        while (infile.getline(a, 20, '/n'))
        {
            cout << a;
        }
    _getche();
}

1 个答案:

答案 0 :(得分:1)

  

基本上我如何指定文件路径

您必须转义文件路径中出现的所有反斜杠,而不仅仅是第一个:

ifstream infile("C:\\Users\\Dell\\Documents\\Visual Studio 2017\\Templates\\ProjectTemplates\\Visual C++ Project\\y.txt");
                       // ^     ^          ^                   ^  ...      

另一种方法是使用raw string literal

ifstream infile(R"(C:\Users\Dell\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C++ Project\y.txt)");