Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
1

Работа с текстовыми файлами: в чем принципиальные отличия представленных программ?

22.03.2015, 12:35. Показов 425. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скажите, в чем принципиальные отличия вот этих двух программ? (меня интересуют различия в строках, помеченные !!!!!!)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    fstream file("TEST.TXT", ios::trunc | ios::in | ios::out); // !!!!!!
    char str[80]; // массив
    cin.getline(str, 80); // ввели строку
    file << str << endl; // извлекли ее в файл
    file.close();
    for (short i(0); str[i]; str[i++] = 0); // очищаем массив
    cin.getline(str, 80); // ввели строку
    file.open("TEST.TXT", ios::app | ios::in | ios::out);
    file << str; // извлекли в файл
    for (short i(0); str[i]; str[i++] = 0); // очищаем массив
    file.seekg(0); // указатель чтения на 0
    file.get(str, 80, '.'); // заполняем массив инфой из файла
    cout << str << endl; // выводим массив
и
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    fstream file;
    file.open("TEST.TXT", ios::trunc | ios::in | ios::out); // !!!!!!
    char str[80]; // массив
    cin.getline(str, 80); // ввели строку
    file << str << endl; // извлекли ее в файл
    file.close();
    for (short i(0); str[i]; str[i++] = 0); // очищаем массив
    cin.getline(str, 80); // ввели строку
    file.open("TEST.TXT", ios::app | ios::in | ios::out);
    file << str; // извлекли в файл
    for (short i(0); str[i]; str[i++] = 0); // очищаем массив
    file.seekg(0); // указатель чтения на 0
    file.get(str, 80, '.'); // заполняем массив инфой из файла
    cout << str << endl; // выводим массив
Добавлено через 8 минут
И еще, скажите, нет ведь особых различий между использованием
C++
1
fstream file; // можно дописать ios::in и(ли) ios::out
и
C++
1
ifstream file; и ofstream file; по отдельности
?

Как по мне, так первый подход удобнее, как я понял, fstream - это универсальный поток.

Добавлено через 38 минут
hoggy, Помоги!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2015, 12:35
Ответы с готовыми решениями:

Работа с текстовыми файлами
Разработать программу, которая: а) создает текстовый файл TF5_1 с символьных строк различной длины;...

Работа с текстовыми файлами
Доброго времени суток. Есть ф-ия: void FillM(int **&amp;tab, int &amp;w, int &amp;h) { FILE *f;...

Работа с текстовыми файлами
3)Разработать программу, которая выполняет следующие действия: создает входной поток для...

C++ работа с текстовыми файлами
Доброго времени суток. Делал программу, но столкнулся с некоторыми трудностями. у меня в текстовом...

3
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 115
22.03.2015, 12:57 2
Скажите, в чем принципиальные отличия вот этих двух программ? (меня интересуют различия в строках, помеченные !!!!!!)
Принципиальных отличий нет. В первом случае создается объект fstream, ассоциируемый с файлом TEST.TXT, а во втором случае тот же объект создается не открывая файла; файл прикрепляется к объекту в следующей строке.

Как по мне, так первый подход удобнее, как я понял, fstream - это универсальный поток.
Имеет смысл применять ifstream для работы с файлом, если предполагается только чтение из него (без вывода в него), исходя из принципа наименьших привилегий.
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
22.03.2015, 13:02  [ТС] 3
VIKT0R,
можно еще спросить, создавая объект fstream, по умолчанию какие биты в нем включены?
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
22.03.2015, 13:30 4
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
hoggy, Помоги!!!
нет принципиального отличия.

Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Как по мне, так первый подход удобнее
я такого же мнения. но иногда бывают ситуации, когда нужно создать файловый стрим,
а имя файла с которым нужно будет работать ещё не известно.
тогда используется второй подход.

Цитата Сообщение от Ferrari F1 Посмотреть сообщение
как я понял, fstream - это универсальный поток.
это - файловый поток ввода-вывода.
грубо говоря, он работает с последовательностью байт, которые можно гонять в обе стороны.
0
22.03.2015, 13:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2015, 13:30
Помогаю со студенческими работами здесь

Работа с текстовыми файлами
Во входной файл подается текст вида: aaabcbbffff В исходной файле получается: 3аbc2b4f простейшая...

Работа с текстовыми файлами
Помоготи , пожалуйста : Создать текстовый файл и выполнить обработку текста в файле ... Пример :...

Работа с текстовыми файлами
Здравствуйте! Как подсчитать количество букв, которые встретились в тексте двойными? Помогите...

Работа с текстовыми файлами
Люди добрые кто может подскажите)) Задание: Дан текстовый файл, проставить пробелы после знаков...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru