Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ предикат http://www.cyberforum.ru/cpp-beginners/thread885441.html
Здравствуйте, не могу понять что должна принимать функция в качестве предиката. Вот допустим контейнер vector, можете привести маленький пример sort() функции пожалуйста?
C++ Создание меню Попытался сделать меню для программы, но она почему то уходит в бесконечный цикл. Помогите плиз. #include <iostream> #include <conio.h> #include <cstdlib> using namespace std; // ôóíêöèÿ îïðåäåëåíèÿ ñèìâîëà void prog() { string fileName, currWord, currMax = ""; cout<<"\nÂåäèòå èìÿ ôàéëà "; http://www.cyberforum.ru/cpp-beginners/thread885439.html
C++ Матрицы. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее
помогите пожалуйста решить задачу на C++, точнее перевести с Pascal на C++. Вот задача: Дана действительная матрица размера n x m, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением. Код в Pascal: program bbb; label 1; type mas=array of real; var matr:mas; ...
C++ Дана действительная матрица размера n*m. получить последовательность
Дана действительная матрица размера n*m. получить последовательность b1,...bn, где это bk-это число отрицательных элементов в k-ой строке. Решить надо с помощью вложенных циклов
C++ Кто видит ошибку?Нужно четные и нечетные числа вывести и их индексы http://www.cyberforum.ru/cpp-beginners/thread885407.html
нашел
C++ Заменить содержимое самого короткого на содержимое самого длинного Даны 3 файла, одного типа, разного размера. Заменить содержимое самого короткого на содержимое самого длинного Добавлено через 1 час 57 минут Есть какие нибудь советы? подробнее

Показать сообщение отдельно
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
30.05.2013, 19:23     Ввод имени файла и FileExists
Всем привет!
Ребят у меня такая проблема: нужно ввести имя файла заранее до начало работы с ним, но так не работает:

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;
}
Что нужно сделать что бы первый вариант функции стал рабочим?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru