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

Как открыть файл для чтения в БИНАРНОМ режиме? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ MPI_Recv http://www.cyberforum.ru/cpp-beginners/thread190286.html
Добрый день! Я с таким заданием: нужно написать небольшой, простенький пример, демонстрирующий, как работает функция MPI_Recv. Подскажите, пожалуйста, какой можно привести пример, и в чём он может...
C++ Строка Спасите.... Написать нужно... Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию. http://www.cyberforum.ru/cpp-beginners/thread190275.html
Двумерный массив C++
Помогите пожалуйста с С++.... Написать процедуру обмена столбца и строки двухмерного массива. С ее помощью поменять местами те строки и столбцы, первые элементы которых совпадают. Листинг...
Дан файл F, компонентами которого являются целые числа. Получить в файле G все нечетные числа, входящие в файл F. Числа в файле G должны следовать C++
Помогите доздать с++) вот задание: Дан файл F, компонентами которого являются целые числа. Получить в файле G все нечетные числа, входящие в файл F. Числа в файле G должны следовать в порядке...
C++ Графы http://www.cyberforum.ru/cpp-beginners/thread190254.html
1. Осуществите генерацию матрицы смежности M(G) неориентированного графа G, где n – порядок помеченного графа. Пример алгоритма генерации матрицы смежности графа, состоящего из N Вершин на языке...
C++ ООП. Переменные-члены в динамической памяти. Решил я массив в классе динамически создавать и наткнулся на пробелы в знаниях. После безуспешного или кривого поиска решил спросить у вас как же быть. class Tet{ public: Tet();... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459

Как открыть файл для чтения в БИНАРНОМ режиме? - C++

12.11.2010, 23:34. Просмотров 2742. Ответов 3
Метки (Все метки)

Друзья! Файл, который надо открыть БИНАРНЫЙ, в нём два байта. Содержание файла
C++
1
33 20 00 00
имя "input"

Вот по логике вещей пра должна его в бинарном режиме открыть и число 33 20 записать в переме6нную x

Как она это число будет трактовать- дело второе уже. НУ раз это число типа int и учитывая, что 33 и 20 это шестнадцатеричные числа, тогда наверное число будет 00002033h или по-простому 8752

Но нет же она упорно видит в этих четыпёх байтах цифру 3 (первый байт), а оставшиеся три игнорирует. Хотя такое поведение, как я понимаю может быть только если файл открыт в текстовом режиме. Но я открываю в бинарном.

В С сделал бы без проблем как мне надо. Я там на крайняк считал бы файл посимвольно в нужную ячейку и получил бы нужное число. А вот здесь трабла какая-то прямо режимом открытия.
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
#include <windows.h>
#include <iostream>
#include <fstream>
using namespace std;
 
int main () {
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
 ifstream in ("input", ios::in|ios::binary);
 
 if (!in) {
  cout<< "ошибка открытия файла"<<endl;
  getchar ();
  exit (1);
 }
 
 int x= 0;
 
 in>>x; 
 
  printf ("%x\n%d\n", x, x);
  cout<<x<<endl;; 
 
 getchar (); 
 return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru