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

Зачем открывать файл как бинарный? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пропала кириллица в Visual Studio http://www.cyberforum.ru/cpp-beginners/thread608433.html
Перестала сегодня выводится кириллица в Visual Studio 2010. Не могу понять в чем дело. Раньше етот код выводился без проблем#include <iostream> #include <Windows.h> using namespace std; int main() { SetConsoleCP (1251); SetConsoleOutputCP (1251); cout<<"Строка"<<endl;
C++ Нужно вывести на экран Помогите с программой, просто нужно вывести на экран шестиугольник! http://www.cyberforum.ru/cpp-beginners/thread608400.html
C++ Определить прямоугольник, лежащий левее всех и ниже всех
Дан массив прямоугольников со сторонами параллельными осями координат и структура с полями: координата верхнего левого угла, ширина, длина.Определить прямоугольник, который лежит левее всех и тот же что лежит ниже всех. Я не могу понять как именно определить прямоугольник, который лежит левее всех и ниже всех. Подскажите пожалуйста,кто знает
что сделать с этой ошибкой? C++
что сделать с этой ошибкой? портит программ куда бы не сохранил.
C++ Отсортировать диагонали матрицы nxn, параллельные побочной по возрастанию http://www.cyberforum.ru/cpp-beginners/thread608369.html
В целочисленной матрице n x n, отсортировать диагонали, параллельные побочной по возрастанию. Нужна помщь, сам начал алгоритмом Шелла, не очень удачно :) Вот наработка: #include <iostream> #include <fstream> using namespace std; void sortShell(int*mas,int n) { int I,j; temp;k=n/2;
C++ Упорядочить по возрастанию элементы каждого столбца матрицы Упорядочить по возрастанию элементы каждого столбца матрицы размером n*m.Найти сумму положительных элементов и количество отрицательных элементов. Всем кто поможет буду очень благодарен. подробнее

Показать сообщение отдельно
Hagrael
БТР - мой друг
 Аватар для Hagrael
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932
20.06.2012, 08:24  [ТС]     Зачем открывать файл как бинарный?
Понятно.

Добавлено через 18 часов 13 минут
Но вот что интересно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
fstream file("text.txt", ios::trunc | ios::in | ios::out);
 
int n = 5;
cout << file.tellp() << " "; // 0
file.write(reinterpret_cast<char*>(&n), sizeof(int));
n = 10;
cout << file.tellp() << " "; // 4
file.write(reinterpret_cast<char*>(&n), sizeof(int));
cout << file.tellp() << " " << endl; // 9
int nRead[2];
file.seekg(0);
cout << file.tellg() << " "; // 0
file.read(reinterpret_cast<char*>(nRead), sizeof(int));
cout << file.tellg() << " "; // 5
file.read(reinterpret_cast<char*>(nRead+1), sizeof(int));
cout << file.tellg() << " " << endl; // 9
cout << nRead[0] << " " << nRead[1] << endl; // 5 10
file.close();
Почему когда мы записываем информацию, указатель перемещается вначале на 4, а потом на 9, а когда считываем, то вначале на 5, а затем на 9? По-моему, он всегда должен перемещаться на 4 :scracth:

Добавлено через 1 минуту
Причем, когда открываю файл, как бинарный, то все отлично: цифры выводятся такие: "0 4 8".
 
Текущее время: 18:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru