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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
НубаС++
1 / 1 / 1
Регистрация: 25.02.2012
Сообщений: 115
#1

Как определить существует ли файл? - C++

25.06.2012, 12:14. Просмотров 1452. Ответов 6
Метки нет (Все метки)

Я использую
C++
1
2
3
4
5
6
7
8
if(FileExists(LoginReg))
                                   {
                                    ofstream ofs(LoginReg); //ñîçäГ*ГІГј
                                    ofs << account[1][1];
                                    ofs << PasswordReg << endl;
                                    ofs.close();
                                    }
                                    else{}
Но почему-то не получается
Мне нужно, сделать так, чтобы если файл уже был, то новый не создатся
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2012, 12:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как определить существует ли файл? (C++):

Файл: Как сделать так, чтобы при запуске программы проверялось, существует ли файл? - C++
Как сделать так, чтобы при запуске программы проверялось, существует ли файл. Если да, то он обнуляется, если нет, то создается?

Как открыть файл на чтение и запись, создав его, если его не существует, и перезаписать, если он существует? - C++
Как открыть файл на чтение и запись, создав его, если его не существует, и перезаписать, если он существует?

Открытие файла. Как проверить существует ли файл не трогая содержимое - C++
Нужно 2 ф-ии: 1. Открыть файл (Если файла нету, то ошибка &quot;Файл не найден&quot;) 2. Создать файл (Если файл есть, то ошибка &quot;Файл с таким...

Как сделать так, что если файл существует return true, если нет - return false - C++
Здравствуйте, я новичок в программировании. Мой вопрос очень прост: как сделать так, что если файл существует return true если нет return...

Определить, существует ли треугольник со сторонами a, b, c - C++
Задача: Определить, существует ли треугольник со сторонами a, b, c. Примечание: Стороны a, b, c вводятся с клавиатуры

Определить, существует ли треугольник со сторонами a, b, c - C++
1) поределить существует ли треугольник со сторонами a,b,c, и если существует,то является ли он равносторонним,равнобедренным или...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
bLesk
41 / 41 / 1
Регистрация: 24.11.2009
Сообщений: 165
25.06.2012, 12:15 #2
можно так
C++
1
2
3
4
5
6
ifstream f("text.txt", ios::in);
    if(!f) 
    {
        cout<<endl<<"Ошибка открытия файла  "<<endl;
        return 1;
    }
НубаС++
1 / 1 / 1
Регистрация: 25.02.2012
Сообщений: 115
25.06.2012, 12:21  [ТС] #3
Что то не получается, просто консоль закрывается, есть другие методы?
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
25.06.2012, 13:04 #4
НубаС++, if((F=fopen("1.txt",'r'))!=0)файл сущ.
а чтобы не закрывалась консоль сразу в конце впили Sleep(1000); и проинклудь windows.h
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
25.06.2012, 13:32 #5
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <boost\filesystem.hpp>
 
int main()
{
    std::cout << ( boost::filesystem::exists( "input.txt" ) ? "Exist" : "Not exist" ) << std::endl;
    return 0;
}
Evg
Эксперт CАвтор FAQ
17630 / 5854 / 376
Регистрация: 30.03.2009
Сообщений: 16,141
Записей в блоге: 26
25.06.2012, 13:36 #6
Вообще говоря если открытие файла на чтение отработало с ошибкой, то это вовсе не означает, что файла нет. Файл может быть, но по всяким причинам его нельзя открыть на чтение. Причиной может быть отказ в правах доступа. Под виндой причина может быть в том, что файл уже занят другим приложением.

В юниксах проверять наличие файла лучше системным вызовом stat: http://linux.die.net/man/2/stat
Под виндой он вроде бы тоже есть

Добавлено через 1 минуту
Цитата Сообщение от НубаС++ Посмотреть сообщение
Но почему-то не получается
Мне нужно, сделать так, чтобы если файл уже был, то новый не создатся
Что-то я протупил. Под виндой ведь есть FileExists. Если FileExists работает корректно, то в твоём примере альтернативы поменяны местами. Ты создаёшь файл, если он существует. А надо создавать, если отсутствует
НубаС++
1 / 1 / 1
Регистрация: 25.02.2012
Сообщений: 115
25.06.2012, 18:41  [ТС] #7
Всем спс решил проблему так
C++
1
2
3
4
5
6
7
8
if(_access(Login, 0) == -1)
                              {
                                              cout << " Этого аккаунта не существует";       
                              }
                              else
                              {
                                 // тут неважно что
                              }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2012, 18:41
Привет! Вот еще темы с ответами:

Опредилить, существует ли на диске необходимый файл (*.txt) - C++
Добрий день! Я новичок в с++ и в програмирование в целом. Подскажите , пожалуйста, можна в програме опредилить существует ли на диске...

Определить, существует ли покрытие C' из C мощности не более K - C++
УСЛОВИЕ. Задано семейство C подмножеств конечного множества S и положительное целое число K &lt;= |C|. ВОПРОС. Существует ли покрытие C' из...

Определить, существует ли треугольник с заданными сторонами - C++
Даны три натуральных числа A, B, C. Определите, существует ли треугольник с такими сторонами. Если треугольник существует, выведите строку...

Определить, сколько существует различных раскрасок полоски из N клеток - C++
Решаю задачу условие на картинке, написал код идею вроде понял, не могу понять почему проходит лишь на частичный балл, помогите...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.06.2012, 18:41
Ответ Создать тему
Опции темы

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