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

При чтении файла последний элемент повторяется дважды - C++

Восстановить пароль Регистрация
 
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
13.12.2010, 17:53     При чтении файла последний элемент повторяется дважды #1
появилась необходимость выучить работу с файлами за 9 часов
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
#include <iostream>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
 
 
int main()
{
    srand(time(NULL));
    FILE *f,*f1,*f2;
    f=fopen("file","w");//îòêðûòèå ГґГ*éëГ* äëÿ Г§Г*ГЇГЁГ±ГЁ
    for(int i=0;i<15;i++)
    {
      int k=rand()%100;
      fwrite(&k,sizeof(int),1,f);//Г§Г*ГЇГЁГ±Гј ïîýëååГ*ГІГ*Г® Гў ГґГ*éë
    }
    fclose(f);
    int temp;
    f=fopen("file","r");//îòêðûòèå äëÿ Г·ГІГҐГ*ГЁГї
    if (f==0)
     cout<<"Break out"<<endl;
     else
     {
      while(!feof(f))
     {
        fread(&temp,sizeof(int),1,f);
        cout<<temp<<" ";
     }
     }
     fclose(f);
     cout<<endl;    
    return 0;
}
у меня почему-то последний элемент повторяется дважды.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 17:53     При чтении файла последний элемент повторяется дважды
Посмотрите здесь:

C++ Проверка при чтении из файла
C++ bool при чтении из файла
Последний элемент из файла выводится 2 раза C++
фейл при чтении из файла C++
Чтение и запись из файла в файл - символ в файле повторяется дважды C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
13.12.2010, 18:07     При чтении файла последний элемент повторяется дважды #2
Цитата Сообщение от Artishok Посмотреть сообщение
появилась необходимость выучить работу с файлами за 9 часов
Си или С++ ?
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
13.12.2010, 18:41  [ТС]     При чтении файла последний элемент повторяется дважды #3
что угодно

Добавлено через 29 минут
help
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
13.12.2010, 18:47     При чтении файла последний элемент повторяется дважды #4
Artishok, Ану так пробуй
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
#include <iostream>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
 
using namespace std;
 
 
int main()
{
        srand(time(NULL));
        FILE *f,*f1,*f2;
        f=fopen("file","w");//открытие файла для записи
        for(int i=0;i<15;i++)
        {
          int k=rand()%100;
          fwrite(&k,sizeof(int),1,f);//запись поэлеентно в файл
        }
        fclose(f);
        int temp;
        f=fopen("file","r");//открытие для чтения
        if (f==0)
         cout<<"Break out"<<endl;
         else
         {
          while(!feof(f))
         {
                fread(&temp,sizeof(int),1,f);
                if(!feof(f))
                cout<<temp<<" ";
         }
         }
         fclose(f);
         cout<<endl;
        return 0;
}
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
13.12.2010, 21:21  [ТС]     При чтении файла последний элемент повторяется дважды #5
похоже на правду.
выходит условие завершения файла проверялось после последнего вывода?

вот теперь пошли вопросы:
как можно считывать по позициям?

Добавлено через 2 часа 30 минут
можно ли передавать файл как параметр функции?
Yandex
Объявления
13.12.2010, 21:21     При чтении файла последний элемент повторяется дважды
Ответ Создать тему
Опции темы

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