9 / 9 / 2
Регистрация: 02.11.2012
Сообщений: 153
|
||||||
1 | ||||||
read(); write();20.02.2013, 01:59. Показов 4241. Ответов 28
Метки нет (Все метки)
Вот такая вот небольшая программка
0
|
20.02.2013, 01:59 | |
Ответы с готовыми решениями:
28
Функции write и read Read and write binary file Существуют ли в C++ аналоги делфийских write и read? В чем разница между f.read(),f.write() и f<<., f>>.? |
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
20.02.2013, 03:55 | 21 |
точнее, он делает умнее. Он использует буфер, когда ты вызываешь write. пишется в буфер библиотеки. Когда ты вызываешь read потока с++, то вызывается для буфера потока write системный. И только потом уже системный read
Добавлено через 1 минуту В линукс тоже. Я продебажил сейчас. Просто она умнее делает, когда ты вызываешь чтение. Она библиотечный буфер отдает ядру. Но не сбрасывает. так как отдачи уже достаточно для того, чтобы читать актуальные данные.
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
20.02.2013, 03:58 | 23 |
Вопрос смешной А что же еще. Конечно. Я об этом твердил тебе с самого начала. Что рассматривая данную программу, ОС во внимание вообще брать нельзя. Она роли тут не играет ни на долю. Даже 0% участия ОС тут нет. Не понятно, чего ты там привязался к ОСи. Если я реализую стандартную библиотеку так, что она вообще никогда не будет записывать файл, то можно будет сказать, что "на винде файлы не записываются на диск". И в пример привест код, скомпиленый с моей библиотекой.
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
20.02.2013, 04:01 | 24 |
И про sync(). Этот метод не срабатывет в Linux для очистки потока. В Windows - работает.
Добавлено через 53 секунды До конца не ответил. Только для Linux такая реализация? Или и для Windows есть реализации, которые так же работают?
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
20.02.2013, 04:08 | 25 |
А метод чего? Метод класса стандартной библиотеки? Тогда вопрос не корректен, так как, сюда как-то попало слово Linux.
Я не знаю все реализации библиотек. Я знаю, что они различные и она не одна. А на какой ОС либа работает значения не имеет никакого. Любой вопрос, кто и как себя ведет - адресуй авторам библиотеки. Потому что в линуксе буферизация работает гарантированно. Независимо от того, какую библиотеку ты используешь.
0
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
20.02.2013, 04:35 | 29 |
И? libstdc++. Как видишь, буферизация там прекрасно работает. И на уровне библиотеки в том числе. И все это добро к слову "Linux" и к "а я разницу вижу" отношения не имеет. С тем, какие они еще есть и как в них, что реализовано - разбирайся сам.
Добавлено через 8 минут Так же, как любая функциональность, которую пишут разные программисты под разные платформы. Функциональность реализовывают, но каждый может по-своему что-либо сделать опираясь на стандарт. Слинковаться можно с любой библиотекой. Среда и компиляторы не важны.
1
|
20.02.2013, 04:35 | |
20.02.2013, 04:35 | |
Помогаю со студенческими работами здесь
29
ofstream & ifstream :: binary read-write struct Передать из одного файла в другой текст построчно посредством read() write() Как при помощи ф-ий read/write записать в файл, а потом считать с него Пример функции для изменения региона защиты памяти процесса с Read Only на Write Copy Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |