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

read(); write(); - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка файлов. Функция seekg(); http://www.cyberforum.ru/cpp-beginners/thread790531.html
ifstream fileReader("sdf.txt"); int a; while (fileReader >> a) { ...; } А теперь, чтобы повторить данный while нужно написать fileReader.clear(); fileReader.seekg(0); Так вот, почему не достаточно одного seekg(0)? Эта функция перемещает ползунок чтения на начало файла. А вот функция clear() устанавливает флаг ошибки в положение "нет ошибки" и я не пойму зачем нам это нужно, если и функции...
C++ C++ и асемблерные вставки.Как это просиходт синтаксически? Я искал в великом Гугле,Мне интересно как это происходит вставки в С++, Для этого нужно ставить MASM или все интегрировано в visual studio(Инсталирована Visual Studio 2010). Люди посоветуйте в какую сторону двигаться. http://www.cyberforum.ru/cpp-beginners/thread790524.html
C++ Как передать ссылку на объект в класс
Здравствуйте! Подскажите, пожалуйста, почему не работает: log.h class LogClass { public: bool InitializeLog(); void Write(char*); private: std::ofstream m_fout;
Подсчет елементов в одномерном динамическом массиве (есть решение на C#.NET) C++
Здравствуйте, у меня вопрос: если я в консоль введу массив символов, к примеру: 0,1,4,в,н,ш,с,4,8; как можно будет подсчитать их количество, а если без вопроса то вопрос один: как подсчитать их количество не смотря откуда они берутся, может есть что-то наподобии ф-ции length? код C# (тут, конечно, подсчитывается количество цифр в числе, но все же): using System; namespace...
C++ Найти количество вещественных чисел в файле и вывести их в другой файл http://www.cyberforum.ru/cpp-beginners/thread790514.html
Не получается решить данную задачу.. Если бы кто помог, был бы признателен. И так, вот мой код в данный момент #include <iostream> #include <string> #include <fstream> using namespace std; ifstream file_input("D:\\test\\in.txt"); //ofstream file_output("D:\\test\\out.txt");
C++ Вывести строку – словесное описание указанного возраста Дано целое число в диапазоне от 20 до 80, определяющее возраст в годах. Вывести строку – словесное описание указанного возраста, обеспечив правильное согласование числа со словом «год», например: 20 – «двадцать лет», 32 – «тридцать два года», 41 – «сорок один год». подробнее

Показать сообщение отдельно
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.02.2013, 02:49     read(); write();
Цитата Сообщение от kebal Посмотреть сообщение
А почему write автоматически этого не делает?
1. Потому что оптимизация. Представь какая нагрузка на диск будет, если при каждом чихе система будет писать информацию на диск. Копируешь ты какой-нибудь фильм себе на диск и будешь ворон считать, пока тебе редактор файл с кодом, например, на том же диске откроет. Потому что диск видите ли полностью занят записыванием твоего фильма. Образно.
Ну, или твоя программа будет висеть и ждать, пока данные на диск не запишутся. Вместо того, чтобы отдать их системе, сразу продолжить выполнение и забыть про них. ОС сама решит, когда ей удобнее сбросить.
2. Потому что пишет в свой внутренний буфер С++-ного потока еще перед тем, как это куда-то дальше в системные вызовы пойдет.
Цитата Сообщение от alsav22 Посмотреть сообщение
Она идёт сначала в буфер. В файл из буфера, если не ошибаюсь
Точнее, из буфера потока C/С++, в файловый буфер ОС, потом уже на диск.
Цитата Сообщение от alsav22 Посмотреть сообщение
В Linux, насколько знаю, записанное сразу попадает в файл.
Нет. С чего бы вдруг? Выше, как раз и описано, как работает в Linux.
Но и там, и там, можно открыть файл с опцией, которая отключает системную буферизацию. Так же, можно отключать буферизацию и в библиотечных вызовах.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru