(Solved) (я не знаю, как его закрыть) Я пытаюсь принять ввод пользователя, чтобы открыть файл .dat, который находится в моих исходных файлах, но я не знаю, почему файл не открывается. Я уже проверял синтаксис и другие вещи, но я просто не могу найти решение.User Input Имя файла открыть файл
#include <iostream>
#include <string>
#include <fstream>
#include "arrayFunctions.h"
using namespace std;
int main()
{
string fileName;
int size = 0;
ifstream inputFile;
do
{
cout << "Please enter file name: ";
getline(cin,fileName);
inputFile.open(fileName.c_str());
if (!inputFile)
{
cout << "The file \"" << fileName << "\" failed to open.\n"
<< "Check to see if the file exists and please try again"
<< endl << endl;
}
while (inputFile.good())
{
string stop = " ";
string num;
getline(inputFile, stop);
size++;
}
} while (!inputFile);
cout << size << endl << endl;
inputFile.close();
system("pause");
}
проблема, кажется, лежат в самом деле открытие файла, так как это не удается
do
{
ifstream inputFile("num.txt");
opened = true;
if (!inputFile.is_open())
{
cout << "The file \"" << fileName << "\" failed to open.\n"
<< "Check to see if the file exists and please try again"
<< endl << endl;
opened = false;
}
inputFile.close();
} while (!opened);
Вы уверены, что файл находится где он должен быть? Например, если пользователь входит в foo.txt, файл foo.txt должен быть где бы то ни было, где рабочий каталог для процесса: –
@Jerry Jerehmiah Очевидно, мне нужно было переместить файл в папку с исходным кодом, а не перетаскивать его в папку исходного кода на визуальной студии Microsoft. Я выбираю ваш в качестве ответа, но его комментарий –