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

Чтение 16-и битных слов из бинарника (загрузка Wav) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Простая графическая система http://www.cyberforum.ru/cpp-beginners/thread819947.html
Здарова! Решаю задачку: Реализуйте простую графическую систему, используя доступные на вашем компьютере графические средства (если их нет — используйте ASCII представление, где пиксел, это...
C++ исправьте ошибку (изменить регистр букв в файле) Здравствуйте! Задача - заменить все строчные буквы следующие после точки или точка+пробел на заглавные. Попыталась сделать с помощью toupper, но ничего не выходит. Может можно каким-нибудь другим... http://www.cyberforum.ru/cpp-beginners/thread819942.html
Как можно получить все подмножества множества? C++
Например из множества, представлнного массивом должны получиться подмножества:
C++ Метод Зейделя для СЛАУ
Написала код по Методу Зейделя, но НИКАК НЕ ПОЛУЧАЕТСЯ сделать так, чтобы выводило все итерации на экран!:(:(:( Прошу помочь! Код: #include<iostream> #include<cmath> using namespace std; #define...
C++ увеличить все элементы массива в n раз http://www.cyberforum.ru/cpp-beginners/thread819914.html
увеличить все элементы массива в n раз
C++ Не найден оператор, принимающий правый операнд #include <iostream> #include <string> using namespace std; int main() { int x=5; int y=7; std::cout << endl ; std::cout << x+y << "" << x*y; подробнее

Показать сообщение отдельно
palva
2630 / 1857 / 268
Регистрация: 08.06.2007
Сообщений: 7,097
Записей в блоге: 4
27.03.2013, 13:17
Файл это последовательность байтов, то есть 8-битных слов. Хранить 16-битовое число в файле можно двумя способами: сначала идет младший байт числа, потом старший либо наоборот. Вы должны сначала выяснить, с каким случаем вы имеете дело, а потом думать как прочитать это число в переменную int.
Если иметь в виду, что int занимает 4 байта и первым байтом идут младшие байты числа, то для первого случая читать можно так:
C++
1
2
n=0
fs.read((char*)&n, 2);
Для второго случая читать можно так:
C++
1
2
3
4
n=0
fs.read((char*)&n, 1);
n <<= 8;
fs.read((char*)&n, 1);
Если вместо int n вы используете short n, то есть n занимает два байта, то оператор n=0 в обоих случаях можно опустить.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru