Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
9 / 9 / 2
Регистрация: 02.11.2012
Сообщений: 153

read(); write();

20.02.2013, 01:59. Показов 5000. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот такая вот небольшая программка

C++
1
2
3
4
5
6
fstream myFileReader("hardware.dat", ios::in | ios::out);
 
    int example = 1;
    myFileReader.write((char*) &example, sizeof(example));
    myFileReader.read((char*) &example, sizeof(example));
    cout << example;
У меня она выводит бред типа -803434434; только у меня такое?( просто боюсь, что на моём компьютере что-то со шрифтами, либо в коде я напортачил. Оказалось, что виноваты не шрифты моей винды. Но в самоучителе явно приведён похожий код на запись и чтение файлов, но там вывод почему-то абсолютно адекватный, а у меня мусор.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2013, 01:59
Ответы с готовыми решениями:

Функции write и read
Здравствуйте, уважаемые! Вопросы по работе с файлом через fstream. Возник вопрос по поводу записи структуры в нужном месте файла....

Read and write binary file
Ребята, срочно нужна помощь. Записываю класс Message с сообщениями в файл. struct Head { public: int who; int to; ...

Существуют ли в C++ аналоги делфийских write и read?
Только час назад начал изучать С++ обшарил пол интернета но что то так и не соображу , есть ли тут аналог Делфевских Write и read ...

28
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
20.02.2013, 03:55
Студворк — интернет-сервис помощи студентам
точнее, он делает умнее. Он использует буфер, когда ты вызываешь write. пишется в буфер библиотеки. Когда ты вызываешь read потока с++, то вызывается для буфера потока write системный. И только потом уже системный read

Добавлено через 1 минуту
Цитата Сообщение от alsav22 Посмотреть сообщение
В Windows же использует...
В линукс тоже. Я продебажил сейчас. Просто она умнее делает, когда ты вызываешь чтение. Она библиотечный буфер отдает ядру. Но не сбрасывает. так как отдачи уже достаточно для того, чтобы читать актуальные данные.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.02.2013, 03:57
Цитата Сообщение от Vourhey Посмотреть сообщение
В линукс тоже. Я продебажил сейчас. Просто она умнее делает, когда ты вызываешь чтение. Она библиотечный буфер отдает ядру. Но не сбрасывает. так как отдачи уже достаточно для того, чтобы читать актуальные данные.
Хорошо. Но это что: другая реализация стандартной библиотеки? Именно для Linux? Или и для Windows есть реализации, которые так же работают?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
20.02.2013, 03:58
Цитата Сообщение от alsav22 Посмотреть сообщение
Но это что: другая реализация стандартной библиотеки?
Вопрос смешной А что же еще. Конечно. Я об этом твердил тебе с самого начала. Что рассматривая данную программу, ОС во внимание вообще брать нельзя. Она роли тут не играет ни на долю. Даже 0% участия ОС тут нет. Не понятно, чего ты там привязался к ОСи. Если я реализую стандартную библиотеку так, что она вообще никогда не будет записывать файл, то можно будет сказать, что "на винде файлы не записываются на диск". И в пример привест код, скомпиленый с моей библиотекой.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.02.2013, 04:01
И про sync(). Этот метод не срабатывет в Linux для очистки потока. В Windows - работает.

Добавлено через 53 секунды
Цитата Сообщение от Vourhey Посмотреть сообщение
Вопрос смешной, честно. А что же еще-то.
До конца не ответил. Только для Linux такая реализация? Или и для Windows есть реализации, которые так же работают?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
20.02.2013, 04:08
Цитата Сообщение от alsav22 Посмотреть сообщение
Этот метод не срабатывет в Linux для очистки потока.
А метод чего? Метод класса стандартной библиотеки? Тогда вопрос не корректен, так как, сюда как-то попало слово Linux.
Цитата Сообщение от alsav22 Посмотреть сообщение
Только для Linux такая реализация?
Я не знаю все реализации библиотек. Я знаю, что они различные и она не одна. А на какой ОС либа работает значения не имеет никакого. Любой вопрос, кто и как себя ведет - адресуй авторам библиотеки. Потому что в линуксе буферизация работает гарантированно. Независимо от того, какую библиотеку ты используешь.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.02.2013, 04:09
Реализации стандартной библиотеки, они, ввобще, как различаются-определяются? По компилятору? По среде?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
20.02.2013, 04:10
Цитата Сообщение от alsav22 Посмотреть сообщение
Только для Linux такая реализация?
Хотя, учитывая, что библиотеки могут быть любые, то можно ответить - нет, не только. Найди нужную, или напиши свою.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
20.02.2013, 04:18
Цитата Сообщение от Vourhey Посмотреть сообщение
Хотя, учитывая, что библиотеки могут быть любые
Разговор о стандартной.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
20.02.2013, 04:35
Цитата Сообщение от alsav22 Посмотреть сообщение
Разговор о стандартной.
И? libstdc++. Как видишь, буферизация там прекрасно работает. И на уровне библиотеки в том числе. И все это добро к слову "Linux" и к "а я разницу вижу" отношения не имеет. С тем, какие они еще есть и как в них, что реализовано - разбирайся сам.

Добавлено через 8 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
Реализации стандартной библиотеки, они, ввобще, как различаются-определяются? По компилятору? По среде?
Так же, как любая функциональность, которую пишут разные программисты под разные платформы. Функциональность реализовывают, но каждый может по-своему что-либо сделать опираясь на стандарт.
Слинковаться можно с любой библиотекой. Среда и компиляторы не важны.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.02.2013, 04:35

В чем разница между f.read(),f.write() и f<<., f>>.?
В чем разница между f.read(),f.write() и f&lt;&lt;..., f&gt;&gt;...?

ofstream & ifstream :: binary read-write struct
Не пойму в чем дело... но я не могу считать всю структуру FNTBINARY из файла, файл - это она и есть в бинарном виде, одна структура...

Передать из одного файла в другой текст построчно посредством read() write()
# include &lt;iostream&gt; # include &lt;vector&gt; # include &lt;fstream&gt; # include &lt;string&gt; using namespace std; int main () { ...

Как при помощи ф-ий read/write записать в файл, а потом считать с него
Такой вопрос! Как при помощи ф-ий read/write записать в файл, а потом считать с него различные типы данных, как int,double, char, char. ...

Пример функции для изменения региона защиты памяти процесса с Read Only на Write Copy
будьте добры привести пример функции для изменения региона защиты памяти процесса с Read Only на Write Copy VirtualAlloc - не подходит


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru