Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2014, 05:32   #21
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

kostan3
не знаю че вы там хотели нам показать, но это опять не компилируется.
Цитата:
g++ main.cpp -o main
main.cpp:3:46: error: invalid conversion from ‘int’ to ‘std::ios_base:penmode {aka std::_Ios_Openmode}’ [-fpermissive]
In file included from main.cpp:1:0:
/usr/include/c++/4.7/fstream:801:7: error: initializing argument 2 of ‘std::basic_fstream<_CharT, _Traits>::basic_fstream(const char*, std::ios_base:penmode) [with _CharT = char; _Traits = std::char_traits<char>; std::ios_base:penmode = std::_Ios_Openmode]’ [-fpermissive]
w("output.txt",2);
Что вы хотели этим сказать ни компилятор, ни я не знаем.

Однако, ваши файлы создаются и открываются в глобальной области видимости. Я не уверен что они будут закрыты корректно при выходе из main (при выходе из области видимости разрушается локальный объект и , если это файл, то он закрывается - ну так fstream написан), а значит, файл output должен остаться пустым.
Надо либо сделать его локальным, либо вызывать явно w.close()

Последний раз редактировалось Stilet; 28.03.2014 в 08:59.
rrrFer вне форума Ответить с цитированием
Старый 28.03.2014, 10:03   #22
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
w("output.txt",2);
Подозреваю, что для ТС это уже слишком сложно - он только копирует куски кода между разными форумами и темами. Но на acmp стоит VS 2005 - она знает, что это такое; такое ощущение, что она вообще из одних таких фич и багов сделана.
Цитата:
Сообщение от rrrFer Посмотреть сообщение
Однако, ваши файлы создаются и открываются в глобальной области видимости. Я не уверен что они будут закрыты корректно при выходе из main (при выходе из области видимости разрушается локальный объект и , если это файл, то он закрывается - ну так fstream написан), а значит, файл output должен остаться пустым.
Надо либо сделать его локальным, либо вызывать явно w.close()
Вообще-то для статических объектов деструкторы тоже всегда обязаны вызываться.
Somebody вне форума Ответить с цитированием
Старый 28.03.2014, 10:07   #23
Bruto
лишился icq
Пользователь
 
Аватар для Bruto
 
Регистрация: 23.03.2014
Сообщений: 34
Радость

Цитата:
не знаю че вы там хотели нам показать, но это опять не компилируется.
Цитата:
g++ main.cpp -o main
main.cpp:3:46: error: invalid conversion from ‘int’ to ‘std::ios_baseenmode {aka std::_Ios_Openmode}’ [-fpermissive]
In file included from main.cpp:1:0:
/usr/include/c++/4.7/fstream:801:7: error: initializing argument 2 of ‘std::basic_fstream<_CharT, _Traits>::basic_fstream(const char*, std::ios_baseenmode) [with _CharT = char; _Traits = std::char_traits<char>; std::ios_baseenmode = std::_Ios_Openmode]’ [-fpermissive]
w("output.txt",2);
Что вы хотели этим сказать ни компилятор, ни я не знаем.

Однако, ваши файлы создаются и открываются в глобальной области видимости. Я не уверен что они будут закрыты корректно при выходе из main (при выходе из области видимости разрушается локальный объект и , если это файл, то он закрывается - ну так fstream написан), а значит, файл output должен остаться пустым.
Надо либо сделать его локальным, либо вызывать явно w.close()
Ну хочет человек судьбу дурить так говорил же, что вольному - воля пусть пробует, коли слушать не хочет, можно конечно поспорить, но это по желанию.
Цитата:
Если интересно мое мнение, то в твоей программе переменные a и b не должны быть глобальными. Не уверен, но файлы должны закрываться.
scanf - опасная функция и ее луше не использовать. Опасная в том, что не проверят соответствие этих %ld типам переменных.
Ну и return 0; можно не писать уже (но это самая мелочь)
За мнение спасибо, всегда интересно.
Прогу писал, чтоб на acmp проходила, поэтому так.
Закрываться файлы должны, но acmp хватает и того что написал.
Да и в остальном согласен, только вот под метрики подгонял.
К критике в разумных количествах отношусь ровно, уважаю.

Цитата:
Сообщение от kostan3 Посмотреть сообщение
Код:
#include <fstream>

std::fstream f("input.txt"), w("output.txt",2);
main(){
int a,b;
f>>a>>b;
w<<a+b;
}
у меня глаза кровью наливаются когда я такой код вижу (зачем вам звёздочки?)
Ну полжим, что зведачки -таки мог бы и убрать, раз не нравятся.
А то глаза жалко
Говорю последний раз: делаю чтоб работало и acmp между прочим, принял.
Если желаешь доказать, как это здорово - писать программы в 3 строки(да еще если они не работают), так как я не знаю, принял ли твоой вариант acmp, знаю что люди проверили -не заработало, сам проверял тоже (результат тот же) - вперед и с песней, а спорить на тему короче==лучше //хуже - не ко мне, уж извини, уважаемый kostan3
Помог ответ-жми весы

Последний раз редактировалось Stilet; 28.03.2014 в 10:39.
Bruto вне форума Ответить с цитированием
Старый 28.03.2014, 10:36   #24
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Bruto Посмотреть сообщение
Ну полжим, что зведачки -таки мог бы и убрать, раз не нравятся.
А то глаза жалко
Говорю последний раз: делаю чтоб работало и acmp между прочим, принял.
Если желаешь доказать, как это здорово - писать программы в 3 строки(да еще если они не работают), так как я не знаю, принял ли твоой вариант acmp, знаю что люди проверили -не заработало, сам проверял тоже (результат тот же) - вперед и с песней, а спорить на тему короче==лучше //хуже - не ко мне, уж извини, уважаемый kostan3
господи, приехали говно-кодеры, им не важно чтоб работало нормально, им надо чтоб говно-код прошел тест.
у нас в компании таких быстро выгоняют с работы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 28.03.2014 в 10:38.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.03.2014, 11:00   #25
Bruto
лишился icq
Пользователь
 
Аватар для Bruto
 
Регистрация: 23.03.2014
Сообщений: 34
По умолчанию

Цитата:
господи, приехали говно-кодеры, им не важно чтоб работало нормально, им надо чтоб говно-код прошел тест.
у нас в компании таких быстро выгоняют с работы.
Ну, писать чтоб работало - мой принцип, а если еще и тест проходит - вообще красота, ну всем же не объяснишь, что главная цель любого алгоритма - результат, а творения проверять надо
Школьники, сэр!
Может он изменит свое мнение, когда начнет работать не только на рейтинг acmp и узнает что есть куча языков кроме с++, на которых можно писать то же самое, но короче, или длиннее, а главное работать будет.
Помог ответ-жми весы
Bruto вне форума Ответить с цитированием
Старый 28.03.2014, 12:46   #26
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Может он изменит свое мнение
Судя по кол-ву его тем про этот сайт зависимость уже не вылечить )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.03.2014, 12:59   #27
Bruto
лишился icq
Пользователь
 
Аватар для Bruto
 
Регистрация: 23.03.2014
Сообщений: 34
По умолчанию

Цитата:
Судя по кол-ву его тем про этот сайт зависимость уже не вылечить )
прямо клуб анонимных борцов за короткий код открывать пора
Но суть то в том, чтоб результат был работоспособным
может им отдельную тему надо, вроде "программы в 2 символа", этим зависимым?
Цитата:
у нас в компании таких быстро выгоняют с работы.
хороший подход.

Цитата:
Сообщение от Stilet Посмотреть сообщение
Судя по кол-ву его тем про этот сайт зависимость уже не вылечить )
Знаю я один способ лечения
Emacs называется.
Вот после него становится понятно что за чем и что сокращать, но acmp принимает стандартизированный с++ код через раз(ну если win стандарт, со всякими int_tmain())
Можно конечно и без int_tmain() писать, но если лечить зависимость, то emacs - самое то.
Помог ответ-жми весы

Последний раз редактировалось Stilet; 31.03.2014 в 13:10.
Bruto вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение задачи #71 на acmp.ru Poma][a Паскаль, Turbo Pascal, PascalABC.NET 9 28.08.2013 22:09
acmp.ru заглох ? RIKISHI007 Свободное общение 14 04.08.2013 13:41
Реализация. Строки. ACMP yutr777 Помощь студентам 1 02.08.2013 16:35
Олимпиадные Задачи (с acmp.ru) Poma][a Паскаль, Turbo Pascal, PascalABC.NET 7 20.12.2012 07:44
жестокие батники Артем_Назаренко Помощь студентам 0 17.12.2009 17:29