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

Файл. Потоки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вопрос к "бывалым" http://www.cyberforum.ru/cpp-beginners/thread434602.html
Есть задача - нужно создать программу обучения английскому языку. - На ней должна быть табличка,которую можно править и которая реагирует на события, некоторые кнопки, она должна без проблем работать с бинарными файлами и иметь возможность "уходить" в трей. Что знаю: С++ - консоль, классы на среднем уровне. Имею опыт работы с .Net v4.0, Visual Studio. Посоветуйте библиотеку, под которой...
C++ Помогите вписать куб в конус Ребят всем привет! Помогите вписать куб в конус,чтобы куб касался краёв конуса своими углами! #include <iostream.h> #include <conio.h> #include <graphics.h> #include <string.h> #include <math.h> // Класс "Фигура" (базовый Класс) http://www.cyberforum.ru/cpp-beginners/thread434599.html
C++ Работа со строкой без библиотечных функций
Дана строка типа "abc xyz dea" На выходе расположить слова в алфавитном порядке первых букв, т.е. "abc dea xyz" Не могу раскрутить алгоритм...
C++ Компиляция на VS2010
Во вложенном архиве в папке src лежат исходники open source проекта. По каким-то причинам, в том числе показанным на скриншотах, не могу откомпилироваться ни на Visual Studio 2010, ни в Visual C++ 6. В папке doc лежит документация или тут: 17. The SWISSEPH DLLs. А в папке bin то, что должно получиться на выхлопе, но хотелось бы воспроизвести всё самому. Помогите выявить причину.
C++ Защита от некорректного ввода в меню/выборе размерности матрицы http://www.cyberforum.ru/cpp-beginners/thread434574.html
Здравствуйте, появилась проблема, сделал код, но не знаю как запилить защиту от некорректного ввода в выборе пункта меню и выборе размерности массива... Плюс ко всему, не знаю как сделать так, чтобы программа показывала, номер элемента массива который вводиться пользователем... Помогите пожалуйста! Очень нужно! #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <math.h>...
C++ Найти новый одномерный массив В из сумм элементов каждой строки матрицы А program lab4; var i,j,jmax:integer; a:array of real; b:array of real; k,max,s:real; begin for i:=1 to 5 do for j:=1 to 4 do begin подробнее

Показать сообщение отдельно
AzaKendler
 Аватар для AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
24.01.2012, 23:17     Файл. Потоки
мож пригодится кому. файловый поток ввода вывода с возможностью записывать и читать символы из позиции по индексу []

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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
#include <fstream>
 
using namespace std;
 
class bf : public basic_filebuf<char>
{
 
    
public:
    bf()
    {};
    ~bf(){};
 
 
};
 
 
 
class m_stream : public basic_fstream<char>
{
    struct des
    {
        des(){};
        des(bf* B):b(B){}
        bf* b;
        char Temp;
        pos_type POZ;
        void init(bf* B)
        {
            b = B;
        }
 
        operator char()
        {
            b->pubseekpos(POZ);
            Temp = b->sgetc();
            b->sungetc();
            b->pubseekpos(0);
            return Temp;
        }
        void operator = (char c)
        {
            b->pubseekpos(POZ);
            b->sputc(c);
            b->pubseekpos(0);
 
        }
 
    };
 
    
 
 
    bf BUF;
    des DS;
public:
    m_stream():DS(&BUF)/*:basic_fstream<char>(&BUF)*/{init(&BUF);set_rdbuf(&BUF);};
    ~m_stream(){};
    
 
    des& operator [](pos_type p)
    {
 
        DS.POZ = p;
 
        return DS;
    }
 
    void open(const char* fname)
    {
 
        BUF.open(fname,ios::in|ios::out);
    }
 
 
    _Myfb *rdbuf() const
        {   // return pointer to file buffer
 
        return ((_Myfb *)&BUF);
        }
    
 
};
 
 
int main (int args, char* ar[])
{
 
 
 
m_stream m;
 
 
m.open("c:\\temp\\1.txt");
 
m[3] = '9';
m[20] = '6';
 
cout<<m.rdbuf();
 
 
return 0;
}
Миниатюры
Файл. Потоки  
 
Текущее время: 16:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru