0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 23
|
||||||
1 | ||||||
Подскажите условие17.09.2012, 00:12. Показов 1913. Ответов 7
Метки нет (Все метки)
Не знаю какое должно быть условие, для проверки файла на пустоту
0
|
17.09.2012, 00:12 | |
Ответы с готовыми решениями:
7
Подскажите условие Подскажите как записать условие Подскажите, какое условие нужно поставить Добрый день. Подскажите, возможно ли в system задать условие? |
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
||||||
17.09.2012, 00:23 | 2 | |||||
Попробовать чего-нибудь считать из файла, а потом проверить на eof. Что-то вроде
1
|
36 / 36 / 1
Регистрация: 12.10.2011
Сообщений: 333
|
||||||
17.09.2012, 00:27 | 3 | |||||
Разве этого не достаточно?
0
|
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 23
|
|
17.09.2012, 00:29 [ТС] | 4 |
~OhMyGodSoLong~, Вроде работает, спасибо, но еще интересно знать о peek() и eof()
0
|
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
17.09.2012, 00:32 | 5 |
Просто флаг EOF не устанавливается сам по себе, он устанавливается постфактум после какой-то операции чтения из файла. Поэтому делается peek() — она читает символ из файла, но оставляет его в потоке (то есть не сдвигает указатель, если там что-то действительно было, чтобы этот символ можно было потом в следующий раз прочитать нормально). Соответственно, если файл пустой, то она ничего не считает, но установит бит EOF, на который и среагирует следующий за ней вызов eof().
2
|
44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
|
||||||
17.09.2012, 09:44 | 7 | |||||
#include <iostream>
#include <fstream> using namespace std; int main() { char c=0; ifstream f("file"); f.get(); f.get(); if (f.eof() == true) cout << "end"; return 0; } Добавлено через 5 минут alsav22, ваш вариант у меня почему-то не работает
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
17.09.2012, 10:39 | 8 | |||||
Вы пустой файл как делаете?
Добавлено через 5 минут
Проверка на пустоту, если файл просто откывается для чтения и в других случаях имеет свои особенности. Если для цели из первого поста, то мой способ вполне рабочий. В 7 посте, вы уже используете метод get(). Для каких целей вы get() делаете?
0
|
17.09.2012, 10:39 | |
17.09.2012, 10:39 | |
Помогаю со студенческими работами здесь
8
Как сделать так, чтобы условие начало работать?Подскажите,пожалуйста Подскажите какое условие, чтобы с трёхзначного числа считывалась вторая цифра? Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы Условные операторы. Будет ли проверено условие condition2, если первое условие condition1 ложно? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |