С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
#1

Ввод имени файла и FileExists - C++

30.05.2013, 19:23. Просмотров 449. Ответов 0
Метки нет (Все метки)

Всем привет!
Ребят у меня такая проблема: нужно ввести имя файла заранее до начало работы с ним, но так не работает:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
void main()
{
    system("chcp 1251");
    system("cls");
    cout << "Введите наименование файла:";
    char data_filename[15];
    cin >> data_filename;
 
    int size;
    person *persons = init(size,data_filename);
    do 
    {
        cout << "Возможные операции:" << endl
            << "1) Вывод массива" << endl
            << "2) Удаление людей с заданым возрастом" << endl
            << "3) Добавление людей" << endl
            << "4) Выход" << endl
            << "Ваш выбор: ";
        int selection;
        cin >> selection;
        switch (selection)
        {
        case 1:
//          init_load(size);
            print(persons,size);
            save_to_file(persons,size,data_filename);
            break;
        case 2:
            init_load(size,data_filename);
            delete_age(persons,size);
            save_to_file(persons,size,data_filename);
            break;
        case 3:
            init_load(size,data_filename);
            add_persons(persons,size);
            save_to_file(persons,size,data_filename);
            break;
        case 4:
            return;
        default:
            cout << "Команда неопознана!" << endl;
        }
    } while (true);
}
Ругается на file_exists!

А вот так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const char data_filename[] = "f.dat"; //Имя файла
 
 
person *init(int &size)
{
    if (file_exists(data_filename))
    {
        cout << "Выберите способ инициализации:" << endl
            << "1) Создать новый файл (удалится старый файл)" << endl
            << "2) Считывание данных из файла" << endl
            << "Вариант: ";
        int selection;
        cin >> selection;
        while (!(selection == 1 || selection == 2))
        {
            cout << "Неверный выбор!" << endl
                << "Вариант: ";
            cin >> selection;
        }
        if (selection == 1)
        {
            remove(data_filename); //Удаленее файла с заданным именем
            return init_new(size);
        } else
            return init_load(size);
    } else
        return init_new(size);
}

Функция file_exests:
C++
1
2
3
4
5
//Проверка на существование файла
bool file_exists(const char *filename)
{
    return _access(filename,0) != -1;
}
Что нужно сделать что бы первый вариант функции стал рабочим?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2013, 19:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввод имени файла и FileExists (C++):

Ввод имени файла с клавиатуры - C++
Всем привет! Хочу сделать так: int main() { char finame; printf(&quot;Enter the name of file: &quot;); scanf_s(&quot;%s&quot;, &amp;finame); ...

Ввод имени файла от пользователя - C++
Как сделать так, что бы консоль запрашивал имя файла? (ну это понятно) А вот как сделать что бы создавался файл с таким именем? что бы в...

Ввод имени файла и текста с консоли - C++
Помогите пожалуйста! #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int _tmain(int argc,...

Ввод имени файла для ofstream - C++
Здравствуйте, есть консольное приложение, позволяющее пользователю, например, записать что-то текстовый файл, возникает вопрос, при...

Ввод имени для создаваемого файла - C++
Здравствуйте, господа. Можно ли в борланде реализовать функцию ввода имени для создаваемого потом файла, а также его загрузки? ...

Ввод имени входного/выходного файла с клавиатуры (fstream) - C++
Подскажите, пожалуйста, как можно организовать ввод имени входных/выходных файлов для их последующего использования с помощью библиотеки...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2013, 19:23
Привет! Вот еще темы с ответами:

Ввод/вывод имени и пути файла, а также защита от дурака - C++
Доброго времени суток, господа. Что-то я либо некорректно формулирую запрос в google, либо просто мало чего есть на эту тему. Надо мне...

Не работает ввод имени файла через fget и открытие через fopen - C++
Уже все перепробовал и в гугле пару часов посидел. Но никак не пойму где проблема допустим в этом коде : char filename; char *p; ...

Вывод на экран имени переменной(имени файла, и тд.) - C++
Здрасти. Недалече столкнулся с проблемой: надо сравнить два файла по признаку количества содержащихся в них символов и вернуть тот что...

Ввод имени в программу с клавиатуры, содержащее 2 или более слова - C++
Помогите, пожалуйста, сделать возможным ввод имени, состоящего из нескольких слов. Например, пункт назначения &quot;Москва&quot; читается без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.