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

вот тут скрин - C++

Восстановить пароль Регистрация
 
Александр26
0 / 0 / 0
Регистрация: 25.09.2012
Сообщений: 95
05.04.2013, 00:28     вот тут скрин #1
вот, что не так
Миниатюры
вот тут скрин  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2013, 00:28     вот тут скрин
Посмотрите здесь:

Что тут неправильно C++
Где тут отличия? C++
вот такой вот пример C++
C++ Вот такое вот кажется лёгкое задание но не как не могу решить.
нужен скрин результатов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
05.04.2013, 00:39
  #2

Не по теме:

хм....панель задач отсутствует?

alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.04.2013, 01:27     вот тут скрин #3
У него, вот это:
C++
1
fstream f("bibliotheca.txt", ios::in | ios::out | ios::app);
не создаёт файл. Почему - непонятно. ОС Win 7.

Добавлено через 1 минуту
Он вставил дальше проверку:
C++
1
2
3
4
5
6
if (!f.is_open())
{
    cout << "Error!" << endl;
    system("pause");
    return 0;
}
IrineK
Заблокирован
05.04.2013, 01:36     вот тут скрин #4
C++
1
2
fstream f;
f.open("bibliotheca.txt", ios::in | ios::out | ios::app);
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.04.2013, 01:41     вот тут скрин #5
Цитата Сообщение от IrineK Посмотреть сообщение
C++
1
2
fstream f;
f.open("bibliotheca.txt", ios::in | ios::out | ios::app);
А разница? То же самое, только в две строки.
IrineK
Заблокирован
05.04.2013, 01:49     вот тут скрин #6
Разве что скромное open осталось в упор не замеченным.

Добавлено через 6 минут
Да и суть у двух строк совсем другая:
C++
1
2
fstream f; //создать объект
f.open("bibliotheca.txt", ios::in | ios::out | ios::app);//вызвать функцию-член класса
Как-то сделать это одной строкой - не очень получается.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.04.2013, 01:55     вот тут скрин #7
Цитата Сообщение от IrineK Посмотреть сообщение
Разве что скромное open осталось в упор не замеченным.
Почему думаете, что незамеченным? Это:
C++
1
fstream f("bibliotheca.txt", ios::in | ios::out | ios::app);
делает, то же самое. Создаёт поток и отрывает файл.

Добавлено через 2 минуты
Тут спорить не о чем. У меня это код работает, и всё создаёт и открывает. Вопрос в том, почему у ТС это не происходит.
IrineK
Заблокирован
05.04.2013, 02:31     вот тут скрин #8
Вы правы.
У fstream два конструктора:

fstream ( );
explicit fstream ( const char * filename,
ios_base::openmode mode = ios_base::in | ios_base::out );

Добавлено через 19 минут
Здесь рассматривается эта проблема: http://stackoverflow.com/questions/4...reate-new-file

Похоже, ios::app - лишний, если файл создается впервые. Как объясняется:
ios_base::out | ios_base::in - соответствует r+
ios_base::in | ios_base::out | ios_base::trunc - это w+
ios_base::out | ios_base::app - это a.
All other combinations involving ios_base::app are invalid.
Попробуйте убрать ios::app и ставить указатель вручную, если это необходимо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2013, 03:34     вот тут скрин
Еще ссылки по теме:

Сохранить скрин шот заданной области экрана C++
C++ Что тут не так?
Скрин работы программы C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.04.2013, 03:34     вот тут скрин #9
Цитата Сообщение от IrineK Посмотреть сообщение
Похоже, ios::app - лишний, если файл создается впервые.
Не лишний. Работает так: если файла нет, то создаётся, если есть, то данные не стираются. Запись только в конец файла, чтение из произвольного. У меня же всё работает, в двух средах, с разными компиляторами.

Добавлено через 48 минут
Разобрался. Причина в компиляторе. У ТС Dev C++ 4.9.9.2. Попробовл на Win 7, в Dev C++ 4.9.8.0, та же история, файл не создаётся. В студии 2010 и в Dev C++ 5.4.0 всё нормально работает. Чтобы работало и у ТС нужно убрать ios::in :
C++
1
fstream f("bibliotheca.txt", ios::out | ios::app);
Совет ТС - обновить среду.
Yandex
Объявления
05.04.2013, 03:34     вот тут скрин
Ответ Создать тему
Опции темы

Текущее время: 13:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru