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

fstream не работает и чтение и запись - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Некорректное считывание из файла http://www.cyberforum.ru/cpp-beginners/thread520777.html
Есть необходимость записывать и считывать в файл и обратно С первым все просто, со вторым казалось бы тоже, но не получается void AddressBook::read_from_file(std::fstream& file) { //1...
C++ Структура и рандом. у меня в структуре есть пять типов данных struct Dzho { int pid; double burst; int priority; int working; int waiting; }; http://www.cyberforum.ru/cpp-beginners/thread520764.html
C++ Использование двух контейнеров из STL
Нужно, чтобы: 1) Каждый объект имел свой уникальный ключ. 2) Быстрая выборка по ключу. 3) Быстрое прохождение по всем объектам. Для первых двух, как я понимаю, подходит map, а для последнего...
Как читать строку типа "НомерБуква" C++
Привет. Как лучше читать строку типа "НомерБуква". Примеры строк: 1А, 25В, 6С. Мне нужно чтоб номер был в переменой "а", а буква в переменой "с". Какой метод лучше?
C++ Парсинг строк из файла http://www.cyberforum.ru/cpp-beginners/thread520740.html
Имеется файл с содержанием 3 Text Text2 Text3
C++ От данного числа N вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. до тех пор, пока число положительно И опять: сколько можно? Задано натуральное число N. От данного числа вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. Данную операцию будем продолжать до тех... подробнее

Показать сообщение отдельно
Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263
17.03.2012, 15:50  [ТС]
Я не понимал эту запись

Цитата Сообщение от retmas Посмотреть сообщение
ios_base::in | ios_base::out | ios_base::app)
Это ведь просто для примера показано, какие параметры могут быть в качестве ios_base::openmode (или ios_base::in, или out, или append).

Хочу еще спросить о вводе/выводе. Прочитал о функции flush(), терминология неясна.

"Она принудительно записывает содержимое буфера, связанного с потоком, на устройство вывода," - пишет Герберт Шилдт.

Я правильно понял? Устройство вывода здесь - файл, в который идет запись.

А это на самом деле запись в некий низкоуровневый буфер (basic_filebuf или нет?).
Код
somefile << "Lorem ipsum..."
Когда мы делаем flush(), то все, что оставалось в буфере, записывается в файл, т. о., буфер освобождается для последующего внесения туда информации, которая тоже будет записана в файл.

Я правильно представил себе работу потока вывода или нет?

А моя задача решена. Нужно было записать в файл определенную первую строку.

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
27
28
29
30
31
32
33
34
#include <vcl>
#include <fstream>
#include <iostream>
#include <string>
#pragma hdrstop
 
using namespace std;
 
#pragma argsused // No warning if function args are not in use.
 
// But there is no warning while compiling project. Why?
int _tmain(int argc, _TCHAR* argv[]) {
    fstream fs("test.txt", ios_base::in);
    string must_be = "Must be the first line";
    string first_line;
 
    if (fs.good()) { // If file stats.txt exists line will be read
        cout << "File exists. Let\'s check first line" << endl;
        getline(fs, first_line);
    }
 
    if (first_line != must_be) { // Let's set the first line
        fs.close();
        fs.open("test.txt", ios_base::out);
        fs.clear();
 
        fs << must_be << "\n";
        cout << "First line was changed to " << must_be << "\n";
    }
    else cout << "The first line is correct" << endl;
    if (fs.is_open()) fs.close();
 
    system("pause");
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru