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

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

Войти
Регистрация
Восстановить пароль
 
Syndarin
13 / 13 / 1
Регистрация: 15.09.2009
Сообщений: 57
#1

Файловые потоки. Подскажите, где ошибка - C++

12.05.2010, 09:14. Просмотров 350. Ответов 4
Метки нет (Все метки)

Добрый день!
Помогите разобраться, плиз: суть задачи в подсчете количества ненулевых элементов в заранее заготовленном файле. Вот что я написал:
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
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
 
void main()
{
 
ifstream myf;
int k=0;
char name[10];
int error=1;
int temp;
 
while(error)
{
    cout<<"Input file name: \n";
    cin>>name;
    myf.open(name);
    if(myf.fail())
    {
        cout<<"File is not open!\n";
        getch();
        continue;
    }
    else
    {
        while(myf>>temp)
        {
            cout<<temp<<"->";
            if(temp!=0)
                k++;
        }
        cout<<"EOF\n";
        cout<<"V fayle "<<name<<" soderjitsa "<<k<<" nenulevih elementov.\n";
        error=0;
        myf.close();
        getch();
    }
    
 
 
}
}
Суть проблемы в том, что не происходит обработки ошибки открытия файла. При вводе заведомо некорректного значения программа создает новый файл.
Во вложении - архив с проектом.


Заранее благодарен.
0
Вложения
Тип файла: rar lab1oop.rar (250.7 Кб, 12 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2010, 09:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файловые потоки. Подскажите, где ошибка (C++):

файловые потоки - C++
Помогите найти ошибку! Программа из книги Дейтелов!Не понимаю что я пропустил .. ------ Построение начато: проект: potok,...

Файловые потоки в Си и С++ - C++
Вот код. Нужно использовать чтение из файла и запись в файл, такое же как и в языке СИ (без использования библиотек которых нет в СИ). Я...

Файловые потоки - C++
Для каждого автобуса автопарка укажите его номер, маршрут, фамилию и инициалы шофера, время в пути. Предусмотреть поиск по фамилии шофера.

Файловые потоки - C++
Компилятор ругается при создании экземпляра класса ofstream. Среда разработки - Visual C++ 2008. Выдает error C2079: 'fileout' uses...

Файловые потоки - C++
1 задача) Дан текстовый файл. Напечатать все строки, в которых имеется хотя бы один пробел. 2 задача) Дан файл f, элементами которого...

Файловые потоки - C++
Структура enum status {Boss=1, Manager}; struct Worker { string Name; int Year; ...

4
uggway
219 / 133 / 9
Регистрация: 12.04.2010
Сообщений: 248
12.05.2010, 09:59 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
        myf.open(name, ifstream::in);
        if(!myf.is_open())
        {
                cout<<"File is not open!\n";
                getch();
                continue;
        }
        else
        {
               while(myf.good())
                {
                       myf>>temp;
                       //................
1
Syndarin
13 / 13 / 1
Регистрация: 15.09.2009
Сообщений: 57
13.05.2010, 01:14  [ТС] #3
То же самое(((
0
Rajd
44 / 22 / 1
Регистрация: 20.11.2008
Сообщений: 178
13.05.2010, 04:29 #4
Цитата Сообщение от Syndarin Посмотреть сообщение
То же самое(((
травбла с самим ifstream он по умолчанию сам создает файл если его нет, принудительно не давать ему делать это.
C++
1
myf.open(name, ifstream::in| ifstream::nocreate);
1
Syndarin
13 / 13 / 1
Регистрация: 15.09.2009
Сообщений: 57
13.05.2010, 09:21  [ТС] #5
Ошибку обрабатывает, но теперь другая проблема - не открывает реально существующий файл)))))

Добавлено через 14 минут
Всем спасибо за помощь, вроде разобрался. Видимо, это какие-то заморочки VC++ т.к. запустил свой исходный код в TC - заработало без проблем.
0
13.05.2010, 09:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2010, 09:21
Привет! Вот еще темы с ответами:

Бинарные файловые потоки - C++
Нужно написать две функции, одна из них сохраняет перечень в бинарный файл, другая считает данные из этого же бинарного файла. Читал про...

Файловые потоки данных - C++
Помогите, пожалуйста! Надо написать программу, которая считывает из файла строки и сохраняет их в другой файл в обратном порядке. Я...

Файловые указатели. Потоки - C++
Вот какой вопрос у меня появился. Пусть есть 2 указателя, связанных с одним и тем же файлом открытым в режиме read. Если я считываю...

Файловые потоки и функции - C++
Скажите пожалуйста, как передать файловый поток в функцию?


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

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

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