как в с++ указать путь к открываемому файлу вручную? (см. внутри)

программирование с++

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

int main(){
fstream file("file.dat"); // <= вот здесь как вместо "file.dat" вручную в консоли указать???
if(!file)
cout << "Sosi 4len!" << endl;
else
cout << "Fail otkryt!" << endl;
_getch();
return 0;
}

я пробовал так, все работает, но когда закрываешь консоль выдает ошибку:
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;

int main(){
char* path;
cout << "Vvedite put': ";
path=new char[];
cin >> path;
fstream file(path);
if(!file)
cout << "Sosi 4len!" << endl;
else
cout << "Fail otkryt!" << endl;
_getch();
return 0;
}

Примечание:
ну сори, не удержался))
Ответы:
"Sosi 4len!"
Ну так кто будет за вас поток закрывать?
file.close();
и еще бы
delete[] path;
Привыкли все, блин, к этим сборщикам мусора, совсем обленились :).
Ну если хочешь то можно через WinAPI вызвать стандартный диалог выбора папки!
Вот пример: (тело рабочее)
Что-то какой-то винегрет из стилей у тебя. Раз уж используешь потоковый ввод-вывод, то будь добр используй класс string вместо char*. И зачем ты выделяешь память для path? Это лишнее


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.