Считывание пути файла с клавиатуры
Меня очень заинтересовала тема правильного считывания пути файла введенного с клавиатуры.
Вот моя жалкая попытка реализации этой затеи:
string FileName;
string Kavichki = "\"";
cout << "Введите путь и имя файла базы данных: ";
getline(cin, FileName);
string NewFileName = (Kavichki + FileName) + Kavichki;
ofstream ExamDataBase(NewFileName, ofstream::app);
Меня очень интересует как это реализовать правильно и с умом:)
Ответы (1 шт):
Автор решения: Tim4ukys
→ Ссылка
Держи, надеюсь сумел тебе помочь ;]
#include <Windows.h>
#include <iostream>
#include <fstream>
using namespace std;
bool isFileExist(const char* stPath)
{
bool isExist = false;
ifstream ifs(stPath);
if(ifs.is_open() && !ifs.bad())
isExist = true;
ifs.close();
return isExist;
}
int main()
{
system("cls");
setlocale(LC_ALL, "Russian");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
cout << "Введите полный путь или имя файла: ";
char pathToFile[260];
cin.getline(pathToFile, sizeof(pathToFile), '\n');
GetFullPathNameA(pathToFile, sizeof(pathToFile), pathToFile, NULL);
if (!isFileExist(pathToFile))
{
cout << "Ошибка: Нет такого файла :[" << endl;
return 0;
}
/*
pathToFile -- Путь до файла
*/
return 0;
}