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

Криво читается бинарник - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу выводящую на экран http://www.cyberforum.ru/cpp-beginners/thread972155.html
таблицу значений функции Y= sin(X) на отрезке с шагом h. (аргумент функции sin(x) выражается в радианах , а не в привычных градусах 1r=57.296◦)
C++ вычислить модуль Для созданного вектора a содержащие 10 компонентов вычислить модуль: √\sum_{i=1}^{10}a2 http://www.cyberforum.ru/cpp-beginners/thread972146.html
Подсчет количества символов в тексте C++
здравствуйте . написал программу которая считает кол-во символов в тексте . Но она выдает ошибку, в чем дело? int show_cimvol(char *string) { int cimvol=0; while(*string=='\0') {cimvol++; string++; } return(cimvol); }
C++ Сгенерировать непрерывный синус
Как сделать так чтобы функция синуса генерировалась непрерывно? sin(wt+f). Фаза тоже меняется со временем. Интересует именно чтобы бесконечно выдавался. Не очень представляю как сделать тут бесконечный цикл.
C++ Массивы http://www.cyberforum.ru/cpp-beginners/thread972107.html
В массиве, состоящем из n вещественных элементов вычислить: - сумму целых частей элементов массива, расположенных между первым и вторым положительным элементом - количество элементов, дробная часть которых больше введённого числа k. |k|<1 Упорядочить элементы массива с четными номерами по возврастанию целой части Совсем с массивами не дружу
C++ Программа для вычисления значений функции F(x) на отрезке [a,b] с шагом h (Dev-C++) F(x)=7{sin}^{2}x-\frac{1}{2}cosx a, b, h - вводит пользователь. Результат выводится в таблице. Первый столбец - значение аргумента, второй - соответствующее значение F(x). #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { int a,b,h; подробнее

Показать сообщение отдельно
TempuSFatumA
1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 87

Криво читается бинарник - C++

08.10.2013, 16:34. Просмотров 213. Ответов 4
Метки (Все метки)

Здравия желаю!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
using namespace std;
 
void main()
{
    char l=6,c=3,b;
    fstream a("LOL.txt",ios::out|ios::binary|ios::trunc);
    a.write(&l,sizeof(l));
    a.close();
 
    a.open("LOL.txt",ios::out|ios::binary|ios::ate);
    a.write(&c,sizeof(l));
    a.close();
 
    a.open("LOL.txt",ios::binary|ios::in);
    cout<<f.tellg()<<"   "<<a.rdbuf()->in_avail();
    a.read(&b,sizeof(l));
    a.close();
}
Собственно, не могу понять, почему при чтении в b записывается 3, а не 6.
seekg() говорит, что указатель на 0 элементе стоит.
Что еще не понятно: in_avail() также возвращает 0.
То есть и считать он не может ничего, а в b пишется последнее записанное.
Может я не правильно понял работу функций open/close...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru