c++ - 如何通过用户给出的完整路径打开文件?

标签 c++ file

这段代码是我写的。我想向用户询问文件的完整路径,然后转到该路径并打开文件。但不幸的是程序找不到该文件。例如,我在此路径 G:\project 2\newfile 中创建了一个文件,但是当我在 c++ 控制台中键入此文件时,它显示“打开文件时出错”。我真的需要解决这个问题。请在这件事上给予我帮助。谢谢

#include <iostream>
#include <fstream>
#include <conio.h>
#include <windows.h>

using namespace std;

int main()
{
    string address;
    cout << "Enter the full path of the file" << endl;
    cin >> address;
    ifstream file(address.c_str());

    if (!file) {
        cout << "Error while opening the file" << endl;
        return 1;
    }

    return 0;
}

最佳答案

您的应用程序失败,因为您没有正确处理文件名中的空格。

试试这个而不是cin >>地址;:

getline(cin,address);

参见this关于 cingetline 之间区别的问题。

关于c++ - 如何通过用户给出的完整路径打开文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17177856/

相关文章:

c++ - cpp std::list 使用步进添加新元素

c++ - C2440 '=' 无法从 'int' 转换为 'BST<int>::Node*

c++ - Boost 的最佳组件是什么?

php - ajax发送文件和变量到php

c++ - 查找数组中的最大数字返回最大 int 值

c++ - 如何在数组或链表中查找特定字符串

c# - 以非升序从大文件中读取多行

python - 错误的文件描述符错误

java - 静态加载 .txt 文件

c++ - VS2005 - 在同一项目中具有相同名称的多个文件