Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Проблема с записью в файл |
Автор: baltushka 14.6.2009, 17:08 | ||
Всем доброго времени! У меня есть программа, которая рисует кривую повехность, необходимо многократно посчитать время работы и результат записать в файл. Время работы считает как надо, но насчет fstream идет непрерывная ругань, мол, необъявленный идентификатор! В fstream.h описан класс basic_fstream, пробовала заменить, результат тот же! Подскажите, что делать?? Привожу часть программы:
Помогите!!!!!! |
Автор: andrew_121 14.6.2009, 17:31 |
baltushka, Это пишется без .h Добавлено через 22 секунды Компилятор какой? |
Автор: baltushka 14.6.2009, 17:53 | ||
Исправила, выдает теперь ошибку
Visual C++ 2008 Express Edition |
Автор: baltushka 14.6.2009, 18:16 |
Честно говоря, не нашла нигде другого компилятора, который нормально бы установился и заработал! если поделитесь, буду благодарна очень!! ![]() А насчет fstream в include - он там есть!!! не понимаю в чем проблема(((( |
Автор: Cheloveck 14.6.2009, 18:28 |
Посмотри в настройках IDE должны быть определены пути инклудов. В полной английской версии это Tools/Options -> Projects and Solutions -> VC++ Directories. В категории Include files нужно добавить путь до каталога с iostream, fstream etc., если, конечно, его там нет. |
Автор: baltushka 14.6.2009, 18:29 |
В общем, как было дело: когда я стала добавлять работу с файлом, выянила, что нужен fstream.h. написала #include <fstream.h>, стало выдавать ошибку про неопознанный идентификатор и про "не могу найти fstream". я заглянула в папку include и обнаружила, что там нет файла с таким расширением! есть просто неопознанный файл, который при попытке открыть предлагает на выбор программы. Решив, что это источник всех моих бед, добавила этому файлу расширение .h, и он стал заголовком! после этого ошибка о том, что кто-то чего-то не находит, пропала! я порадовалась=) но осталась проблема с неопознанным идентификатором. исправила fsteram.h и iostream.h на fstream и iostream, вроде заработало, но перестал находиться fsteram (а позже и iostream). Я создала неизвестные файлы, который был первоначально (большим количеством копипастов)), и теперь опять ругань на идентификатор!!! вот как-то так! ![]() запуталась(( что делать??? ![]() |
Автор: Cheloveck 14.6.2009, 18:32 |
Постарайся приводить код в теге code, а не цитата, а то не читается. По сабжу fstream f; замени на ofstream f; Добавлено через 2 минуты и 11 секунд Ну и открывай блокнотом. Все стандартные инклуды по, опять же, стандарту без расшерений, так что исправь назад)) |
Автор: baltushka 14.6.2009, 18:39 | ||
Если удалить из папки эти заголовки, он ругается на необъявленный идентификатор!! Если удалить неопознанные файлы, ругается на отсутствие их.. исправила, не помогло( Добавлено через 1 минуту и 21 секунду
хорошо ![]() |
Автор: Cheloveck 14.6.2009, 18:42 | ||
бррр.... какие неопознаные? верни всё как было... В SDK нет ошибок. Лог ошибок в студию (только, прошу, верни файлы перед этим на место. Если очень сложно, то удали всё и поставь заново). |
Автор: baltushka 14.6.2009, 18:46 | ||
Вернула!! я уже убедилась, что после ругани на отсутствие файлов, начинается ругань на неопознанность.. вот она:
P.s. Это не код, пишу цитатой.. =) |
Автор: Cheloveck 14.6.2009, 18:49 | ||
Может, что углядишь. Это 100% работает Добавлено через 1 минуту и 6 секунд кстати, про пространство имён std не забыла? |
Автор: andrew_121 14.6.2009, 18:51 |
![]() |
Автор: Cheloveck 14.6.2009, 18:56 | ||||
Есть код "Без подсвети". Здаётся мне, что строки
в твоём файле нет... Добавлено через 1 минуту и 49 секунд
Я, кстати, тоже не вижу объявления o_O |
Автор: baltushka 14.6.2009, 19:10 | ||
работает! только выдает, точнее, записывает в файл совсем не то, что нужно!! вот то, что получилось!! но нужно, чтобы проходя по первому циклу в массив добавлялось полученное значение времени!! а в итоге - документ со списком циферок, каждая из которых обозначает время выполнения программы за каждый такт, желательно, чтобы каждая циферка была с новой строки
Добавлено через 1 минуту и 52 секунды Сейчас все падает =(((( |
Автор: Cheloveck 14.6.2009, 19:17 |
Скажи честно, ты думала, когда скопировала приведённый мной код к себе в программу? Прикола ради. Я тебе это показал, для образца, а не как панацею к твоей программе. Конечно она выдаёт не то, что тебе нужно.... |
Автор: baltushka 14.6.2009, 19:55 | ||
Друзья!! Ну где же вы?? Так ничего и не получается!!!! =((( Добавлено через 2 минуты
Конечно, думала!!! Но у меня не получается сделать, так, чтобы он выводил то, что нужно!! Если в конце записываю в переменную t1-t2, а здесь указываю ее, то считает ее необъявленной!! |
Автор: baltushka 14.6.2009, 20:28 | ||
Теперь и без файла не работает((( Оох! Нелегкая это работа((( Добавлено через 1 минуту и 38 секунд Ребят, подскажите, плиз, что неверного в коде??? Он выдает результат только за один цикл, хотя должен выдать 5 раз время 100*t!!
Добавлено через 2 минуты и 16 секунд 2 раза, а не 5 |
Автор: azesmcar 14.6.2009, 21:10 |
точка с запятой в конце цикла неверна |
Автор: Cheloveck 14.6.2009, 21:15 | ||
Вот если ПРАВИЛЬНО оформить твой код, то всё сразу видно
|
Автор: baltushka 14.6.2009, 21:24 |
Заработало!!! Спасибо большое!!!!!!!!! Теперь буду заново с файлами пробовать и оформлять все правильно!!! ![]() |
Автор: Cheloveck 14.6.2009, 21:24 | ||
Теперь правильная версия
|
Автор: azesmcar 14.6.2009, 21:25 |
![]() |
Автор: Cheloveck 14.6.2009, 21:28 |
azesmcar, ну, недоглядел... сейчас поправлю |
Автор: baltushka 14.6.2009, 21:42 |
Сделала!! исправила точку с запятой после цикла. Снова ошибка, теперь такая: error C3867: std::basic_ofstream<_Elem,_Traits>::close: в вызове функции отсутствует список аргументов; используйте "&std::basic_ofstream<_Elem,_Traits>::close" |
Автор: azesmcar 14.6.2009, 21:43 | ||
не надо принимать близко к сердцу..напоминаю просто, а то вы с ТС эту точку с запятой уже 2 страницы тащите методом копи-паста ![]() с кем не бывает...
На какой строке? (ох уж эти ошибки на русском)... |
Автор: baltushka 14.6.2009, 21:54 |
Видимо, на 144? 1>c:\projects\c++\gltest1\main.cpp(144) : error C3867: std::basic_ofstream<_Elem,_Traits>::close: Скажи, пожалуйста, а как сделать так, что номера строк отображались на экране? |
Автор: Cheloveck 14.6.2009, 21:59 | ||
Tools/Options -> Text Editor -> All Languages там галочка Line Numbers... думаю, что Инструменты -> Опции -> Текстовый редактор -> Все языки примерно так у тебя Добавлено через 2 минуты и 49 секунд так что на 144 строке-то? |
Автор: azesmcar 14.6.2009, 22:02 |
Ну вот теперь все сразу стало понятно. Что у нас там на 144 -ой строке написано? Включаю универсальный читатель мыслей на растоянии...дзынь...нет, не работает, зарядка села |
Автор: baltushka 14.6.2009, 22:04 |
О, класс! так гораздо лучше!! ![]() на 144 строке написано f.close; и, собственно, все! |
Автор: Cheloveck 14.6.2009, 22:06 | ||
а если написать
|