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

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

Войти
Регистрация
Восстановить пароль
 
eyesandsky
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 7
#1

bool при чтении из файла - C++

05.10.2012, 22:26. Просмотров 358. Ответов 4
Метки нет (Все метки)

задание такое
Сделайте функцию чтения из файла такой, чтобы она возвращала bool
(истина - если считали данные, ложь - если нет) и добавьте проверку
этого возвращаемого значения в main.

собственно код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void read_file(void)
{
FILE* file = fopen("arr.txt", "r"); 
 
if (file)
  {
   for(int i=0; i<n; i++)
   fscanf(file, "%d", &a[i]);
   fclose(file);
  }
}
 
int _tmain(int argc, _TCHAR* argv[])
{ 
    
 read_file();
 for(int i = 0; i<n; i++)
 cout <<a[i]<< " ";
 
...
подскажите пожалуйста как здесь работать с bool, и как добавить проверку?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2012, 22:26     bool при чтении из файла
Посмотрите здесь:

Иероглифы при чтении из файла - C++
Привожу код, в котором создаю, файл записываю в него данные. Затем пытаюсь их считать, выводит иероглифы... Что не так?. Спасибо. ...

Абракадабра при чтении из файла - C++
Добрый вечер! Имеется файл, в котором записан двумерный символьный массив, представляющий собой схему графа, например такой: 0 A B C D...

Проверка при чтении из файла - C++
Добрый вечер! В своей программе на одном из этапов я построчно считываю целые числа из файла *.txt. Мне нужно чтобы в файле были только...

Expression при чтении из файла - C++
Добрый день. Не могу понять - при чтении файла вылетает ошибка(экспрешн stream!=NULL) притом файл создан там же где main.cpp ...

Зацикливание при чтении из файла - C++
Пытаюсь читать из файла данные,сохраненные из Экселя TempBook-&gt;SaveAs(PathFile+&quot;\\&quot;+&quot;Temp&quot;,Excel::xlCSV , &amp;vtMissing, &amp;vtMissing,...

фейл при чтении из файла - C++
Вот абсолютно работоспособный код, где чтение и запись выполняются непосредственно в main. #include &lt;iostream&gt; #include &lt;fstream&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.10.2012, 22:29     bool при чтении из файла #2
Цитата Сообщение от eyesandsky Посмотреть сообщение
собственно код
Форматируйте, когда код выкладываете (кнопка С++).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void read_file(void)
 {
 FILE* file = fopen("arr.txt", "r"); 
 
 if (file)
 {
 for(int i=0; i<n; i++)
 fscanf(file, "%d", &a[i]);
 fclose(file);
 }
 }
 
 int _tmain(int argc, _TCHAR* argv[])
 { 
 
 read_file();
 for(int i = 0; i<n; i++)
 cout <<a[i]<< " ";
 
 ...
Добавлено через 2 минуты
Цитата Сообщение от eyesandsky Посмотреть сообщение
чтобы она возвращала bool
А у вас она ничего не возвращает. Что такое a, n?
eyesandsky
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 7
05.10.2012, 22:39  [ТС]     bool при чтении из файла #3
так вот я не знаю как сделать, чтобы возвращала
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.10.2012, 23:14     bool при чтении из файла #4
Цитата Сообщение от eyesandsky Посмотреть сообщение
так вот я не знаю как сделать, чтобы возвращала
А если подумать?
Код
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
#include <cstdio>
 
bool read_file(char* pfilename, int *a, int n)
{
    FILE* file = fopen(pfilename, "r");
 
    int i = 0;
    if (file)
    {
        for( ; i < n; i++)
             if((fscanf(file, "%d", &a[i])) == EOF) break; // в случае ошибки
        fclose(file);
    }
 
    if (i == n) return true; // если считалось заданное количество
    else return false;
}
 
 int main()
 {
 const int n = 5; // сколько данных нужно считать
 char *pfilename = "arr.txt"; 
 int a[n]; // массив для считанных данных
 
 if (read_file(pfilename, a, n))
 {
    printf("Done!\n");
    for(int i = 0; i < n; i++)
    printf("%d  ", a[i]);
 }
 else printf("Bad!\n");
 
getchar();
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2012, 23:14     bool при чтении из файла
Еще ссылки по теме:

Мусор при чтении файла - C++
При чтений текста из файла программа вставляет букву я на конце Как убрать?

Перезапись char при чтении из файла - C++
Добрый день. Возникла такая проблема: есть charchar s; в него я считываю информацию из файла infEP = fopen(&quot;e-p.txt&quot;, &quot;r&quot;); ...

Доступность полей при чтении из файла - C++
Читая книгу Дейтела по С++, наткнулся на неясный код. В книге автор реализует задание: Создать для компании, которая может иметь до...

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

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

Вылет при чтении из бинарного файла - C++
Уважаемые товарищи, пожалуйста, помогите понять почему приведённые ниже функции, записывающие или читающие бинарный файл, работают или не...


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

Или воспользуйтесь поиском по форуму:
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
05.10.2012, 23:14     bool при чтении из файла #5
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
#include <iostream>
#include <fstream>
 
bool Read(int* arr, size_t const size)
{
    bool ret = false;
    std::ifstream ifs("in.txt");
    if(ifs.is_open())
    {
        size_t i;
        for(i = 0; i < size && ifs >> arr[i]; ++i)
        ;
        ret = (i == size);
        ifs.close();
    }
    return ret;
}
 
int main()
{
    int arr[3];
    size_t const size = sizeof(arr) / sizeof(*arr);
    if(Read(arr, size))
    {
        for(size_t i = 0; i < size; ++i)
        {
            std::cout << arr[i] << "  ";
        }
    }
    else std::cerr << "Read failed" << std::endl;
    return 0;
}
Yandex
Объявления
05.10.2012, 23:14     bool при чтении из файла
Ответ Создать тему
Опции темы

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