找不到输入文件

时间:2015-10-10 08:16:38

标签: c++

我正在尝试创建一个程序,询问用户输入文件的名称,然后打开文件,添加文件中列出的所有整数的总和,然后将该总和写入输出文件。

在编写我的代码并将testfile1.txt保存到与程序相同的文件夹后,程序不断给我:“无法访问testfile1(消息I输出通知我自己无法打开testfile1.txt

这是我到目前为止(跳过描述块的行):

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

int main(){
    ifstream inputFile;
    ofstream outputFile;

    string testfile1;
    string sum;

    int total = 0;
    int num;

    cout << "Please input name of file." << endl;
    cin >> testfile1;
    cin.get();

    inputFile.open(testfile1.c_str());

    if (inputFile.fail()) {
        inputFile.clear();
        cout << "could not access testfile1" << endl;
        return(1);
    }

    while (!inputFile.eof()) {
        inputFile >> num;
        total = total + num;
        inputFile.close();
    }

    outputFile.open(sum.c_str());
    outputFile << total << endl;
    outputFile.close();

    if (outputFile.fail()) {
        cout << "could not access file." << endl;
        return 1;
    }

    return 0;
}

问题:

如何查找此程序并打开testfile1.txt

注意:

我很确定在提示输入文件名时,我没有拼错。

1 个答案:

答案 0 :(得分:0)

使用getline (std::cin,name); 输入名称 并使用ostream的适当功能进行读写。

您在第21行第22行

输入错误