Цитата:
Потому, что я не знаю, чем С++ отличается от С
Отличий очень много, сравните стандарты.
Цитата:
Цитата:
Да ещё не видно как доступ к пространству имен std осуществляется.
А что это? И зачем?
Ну объекты-потоки из STL вроде
cout,
cin, и т.д., помещены в вышеупомянутое пространство имен из соображений сохранения модульности. В учебных программах перед использованием таких вещей можно написать например
using namespace std. Но на самом деле так делать нельзя, лучше писать в конкретной области видимости
using std::cout, например. А в реальных программах лучше обходиться без таких приемов и писать что-то вроде
std::cout << "msg" << std::endl. Странно, что у вас это работает по-умолчанию... У вас очень странный компилятор...
Ещё одно замечание: так сохранять данные в файлы нельзя. Это абсолютно непортабельное решение. Нужно работать с данными так, чтобы быть уверенным в том, как именно они физически будут расположены в файле, в частности, нельзя напрямую сбрасывать дампы структур на диск. Лучше написать разные функции для записи строки в файл, для записи 32-х разрядного беззнакового тупоконечного целого числа, и т.д. Т.е. нужно точно знать сколько вы данных записали, и как они организованы.
В вашем же случае реальные размеры полей и размеры всей структуры (записи) могут сильно варьироваться даже просто на одной и той же машине в зависимости от компилятора или даже просто от его настроек. В каком именно порядке хранятся байты в целых числах вы тоже не знаете, сколько места занимает число тоже неизвестно... Велик риск, что данные записанные вашей программкой на одном компьютере не смогут быть прочитанными на другом. Ну думаю проблема ясна.
Учите C++, для начала можно прочитать книжку B.Stroustrup, The C++ Programming Language.
-- Вт окт 06, 2009 02:48:02 --