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

Проверка файла на пустоту - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.62
ganjawar
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 40
22.09.2011, 15:46     Проверка файла на пустоту #1
Здравствуйте,
нужно сделать проверку на пустоту,
если файл пуст то идет одна ветка,если не пуст ,то другая
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
std::fstream file("pass.txt");
        if (file.is_open())
        {   
            file.seekg(0, ios::beg);
            if (file.eof())
            {
                std::cout << "Input PASS : ";
                std::cin >> pass;
                file<<pass;
                file.seekg(0, ios::beg);                            //перемещаемся в начало файла
                streampos pos;
                int c=0;    
                while ((c = file.get()) != EOF)             //шифруем пока не конец файла
                {
                    c = c + 1;
                    pos = file.tellp();
                    file.seekp((int)pos-1);
                    file.put((char)c);
                    file.seekp(pos);        
                }
            }else
проверка должна идти после открытия и file.eof() не помогает

Добавлено через 12 минут
проверку на пустоту решил сделать так))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
file>>pass;
            if (strcmp(pass,"")==0)
            {
                std::cout << "Input PASS : ";
                std::cin >> pass;
                file<<pass;
                std::cout << pass;
                file.seekg(0, ios::beg);                            //перемещаемся в начало файла
                streampos pos;
                int c=0;    
                while ((c = file.get()) != EOF)             //шифруем пока не конец файла
                {
                    c = c + 1;
                    pos = file.tellp();
                    file.seekp((int)pos-1);
                    file.put((char)c);
                    file.seekp(pos);        
                }
            }else
теперь проблема с записью в файл
можно ведь записывать file<<pass
считывать вот так file>>pass считывает а записывать не записывает
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2011, 15:46     Проверка файла на пустоту
Посмотрите здесь:

C++ проверка на пустоту строки
Проверка файла C++
Проверка массива на пустоту C++
Проверка стека на пустоту C++
C++ Проверка на наличие файла
Проверка папки на пустоту C++
C++ Проверка наличия файла
C++ Шаблонный класс матрицы. Проверка матрицы на пустоту

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
22.09.2011, 16:08     Проверка файла на пустоту #2
после чтения очистить надо file.clear()
ganjawar
0 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 40
22.09.2011, 16:27  [ТС]     Проверка файла на пустоту #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
file>>pass;
            file.clear(); 
            if (strcmp(pass,"")==0)
            {
                std::cout << "Input PASS : ";
                std::cin >> pass;
                file<<pass;
                //file.close();
                //file<<"\0";
                std::cout << pass;
                file.seekg(0, ios::beg);                            //перемещаемся в начало файла
                streampos pos;
                int c=0;    
                while ((c = file.get()) != EOF)             //шифруем пока не конец файла
                {
                    c = c + 1;
                    pos = file.tellp();
                    file.seekp((int)pos-1);
                    file.put((char)c);
                    file.seekp(pos);        
                }
вроде ошибок не выкидывает,но и не записывает,а считывать считывает))

Добавлено через 7 минут
разобрался сам)Спасибо)
Yandex
Объявления
22.09.2011, 16:27     Проверка файла на пустоту
Ответ Создать тему
Опции темы

Текущее время: 14:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru