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

Считывание из файла с заданной позиции - C++

Восстановить пароль Регистрация
 
Xoniks
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 31
11.06.2014, 05:44     Считывание из файла с заданной позиции #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <stdio.h>
#include <Windows.h>
#include <iostream>
#include <fstream>
 
 
using namespace std;
 
struct stud {
 
    char name[36];
    stud* next;
};
 
 
void read(stud* &first)
{
    ifstream dataIn;
    char fname [80];
    stud Cur;
    stud* p;
    cout<<"File name? \n";
    cin>>fname;
    dataIn.open(fname);
            if(dataIn.is_open())
            {       while(dataIn.good())
            {       dataIn.read((char *)&Cur.name,sizeof(stud));
                            p=new stud;
                            cout<<p->name<<" ";
                            p=&Cur;
                            p->next=first;
                            first=p;
                    }system("pause");
                    dataIn.close();
            }
            else cout<<"Error file\n";Sleep(500);
}
 
 
void adding(stud* &first){
    system ("CLS");
    stud *p=new stud;
    cout<<"\nEnter new str: ";
    cin>>p->name;
    p->next=first;
    first=p;
}
 
 
 
 void show(stud* first)
 { if(first==NULL){cout<<"Clean\n"; Sleep(500); return;}
    system ("CLS");
 
    if(first->next==0) {cout<<endl<<first->name;  Sleep(4000); return;}
    else {while(first->next)
        {
            cout<<endl<<first->name;
            first=first->next;
        }}
    if(first->next==0) cout<<endl<<first->name;
    cout<<endl;
    system("pause");
 }
 int main()
{
    stud* first=NULL;
    int sw;
    while(1)
    {
        system ("CLS");
        cout<<"1. Enter new str\n"<<"2. Show file\n"<<"3. read file";
 
        cin>>sw;
        switch(sw)
        {
            case 1: adding(first); break;
            case 2: show(first); break;
            case 3: read(first); break;
 
            case 0: return 0; break;
        }
    }
}
помогите.. как сделать чтобы в структуре была длинна строки
и как считать из файла с заданого места
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2014, 05:44     Считывание из файла с заданной позиции
Посмотрите здесь:

C++ Вставка в строку другой строки, начиная с заданной позиции
C++ Запись и считывание с позиции в файле!
C++ как в файле удалить n байт, начиная с заданной позиции
C++ Вывод текста на экран с заданной позиции.
Исключение элемента в заданной позиции из массива C++
Заменить считывание с клавиатуры на считывание из файла C++
Вставка подстроки в строку с заданной позиции C++
C++ Написать функцию замены элементов на 8 с заданной позиции до конца массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4324 / 3745 / 1260
Регистрация: 14.04.2014
Сообщений: 14,704
11.06.2014, 20:26     Считывание из файла с заданной позиции #2
Длину строки можно получить с помощью strlen(), зачем её хранить?
Для чтения с произвольного места используй seekg() и при открытии указывай, что в бинарном режиме открываешь.
Yandex
Объявления
11.06.2014, 20:26     Считывание из файла с заданной позиции
Ответ Создать тему
Опции темы

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