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

Работа с файлами (fseek) - C++

Восстановить пароль Регистрация
 
Get_RighT
0 / 0 / 0
Регистрация: 07.04.2012
Сообщений: 37
30.12.2012, 01:36     Работа с файлами (fseek) #1
В чем проблема и как ее устранить ?

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
#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include<io.h>
using namespace std;
void main()
{
    int a=0;
    int b;
    FILE *f;
    f=fopen("filename","wb");
    for(int i=0;i<10;i++){       
        fwrite(&a,4,1,f);           //запишем в файл 10 цифр
        a++;
    }
    fclose(f);
    f=fopen("filename","rb");
    fseek(f,sizeof(int),2);           // сместим указатель в конец файла со смещением в 4 байта  ( тоесть на цифру 8)
        fread(&b,4,1,f);          // запишем в int b последнюю в конце файла цифру 9
    fclose(f); 
 
cout<<b;                              //  вывод: -858993460
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2012, 01:36     Работа с файлами (fseek)
Посмотрите здесь:

fseek вылетает C++
работа с fseek и файлами C++
Функция fseek C++
C++ fseek / fread
fseek не работает C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,634
Записей в блоге: 17
30.12.2012, 01:53     Работа с файлами (fseek) #2
C++
1
fseek(f,sizeof(int),2);
Что такое 2 что за магическое число ? http://www.cplusplus.com/reference/cstdio/fseek/
sizeof(int) = 4, т.е. на 4 байта или одну позицию...

Может
C++
1
fseek(f,8*sizeof(int), SEEK_SET);
Vladimir616
110 / 110 / 3
Регистрация: 05.07.2009
Сообщений: 224
30.12.2012, 01:55     Работа с файлами (fseek) #3
Get_RighT,
C++
1
fseek(f,-sizeof(int),2);
Croessmah
30.12.2012, 02:01     Работа с файлами (fseek)
  #4
 Комментарий модератора 
Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
Правила форума
Yandex
Объявления
30.12.2012, 02:01     Работа с файлами (fseek)
Ответ Создать тему
Опции темы

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