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

фейл при чтении из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить таблицу ступенчатой функции http://www.cyberforum.ru/cpp-beginners/thread1030491.html
Дошел до ступенчатой функции, не могу понять как делать,помогите y=(tgx*sqrt(p^2-x^2))/(ln(p+2)) , 0<=x<1;dx=0.2; y=(lg(x+1)*arctg(p))/(sqrt(x^2+4x-7))+(2p/x), 1<=x<2;dx=0.5;0<=p<=5;dp=0.25
C++ Сумма элементов правее побочной диагонали, где строка начинается с отрицательного элемента Есть квадратная матрица. Нужно посчитать сумма элементов правее побочной диагонали, где строка начинается с отрицательного элемента sum = 0; cout<<"Вычисление суммы элементов, расположенных правее побочной диагонали в строках, начинающихся с отрицательного элемента"<<endl; for(i = 0; i < s; i++) for(j = 0; j < s; j++){ //if(mas < 0) if((s - j - 1) < i){ sum = sum + mas;... http://www.cyberforum.ru/cpp-beginners/thread1030486.html
Программа с затруднительной концовкой C++
Привет всем. У меня Программа нуждающаяся в помощи. Нужна помощь с задачей. Вот условие: Есть информационный массив f, в котором данные о книгах. (фамилия автора, название и год печати). б) определить есть книга с названием «Информатика». Если есть, то выдать фамилия автора и год печати. Если таких книг несколько, то выдать все данные по этим книгам. У меня не получается реализовать эту часть...
C++ вложенность прямоугольников
bool Intersects(Rect Obj1, Rect Obj2) { int x1 = Obj1.ItsLeftUpperGetX(); int y1 = Obj1.ItsLeftUpperGetY(); int x2 = Obj1.ItsRightLowerGetX(); int y2 = Obj1.ItsRightLowerGetY(); int a1 = Obj2.ItsLeftUpperGetX();
C++ разработать программу, которая будет использовать структуру в С http://www.cyberforum.ru/cpp-beginners/thread1030459.html
1 . создать программу, которая будет использовать структуру human с элементами surname , name , age . Разработать создания и вывода на экран информации из структуры 2 . создать программу, которая будет использовать структуру zapchast с элементами name , size , price . Разработать создания и вывода на экран информации из структуры 3 . создать программу, которая будет использовать структуру car с...
C++ Потоки и критическая секция! Почему потоки проходят 14 раз, а не 10, как указано в MaxCount?????? Помогите с ответом пожалуйста! Написать программу, главный поток которой запускает несколько дополнительных потоков. Реализовать критическую секцию кода, которую все потоки проходят. Использовать функции CreateThread, InitializeCriticalSection, DeleteCriticalSection, EnterCriticalSection, LeaveCriticalSection. Как минимум, в... подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.12.2013, 13:49     фейл при чтении из файла
Цитата Сообщение от ОлександрТНТУ Посмотреть сообщение
почему в первом случае все работает?
Что находится в объекте string зависит от реализации. Например, там может хранится указатель на строку (адрес строки), которая находится где-нибудь в динамической памяти. Пока этот адрес, в коде, не будет меняться при записи/чтении, то всё будет нормально (записали указатель, считали указатель, строка по этому адресу). Но если, что-то приведёт к несовпадению этих адресов, например, запись в файл сделать в дебаг, а потом попыться читать в релиз, то возникнут ошибки, из-за того, что ареса в памяти уже не будет совпадать с адресами в файле.
Цитата Сообщение от ОлександрТНТУ Посмотреть сообщение
И каким способом лучше всего в данном случае читать / записывать? С-ным или есть удобнее способы?
Есть методы форматируемой записи/чтения. Записывать/читать поля класса в текстовом режиме. Нужно только сделать в классе метод доступа к полю по ссылке:
C++
1
2
3
4
string& getName()
{
    return Name;
}
C++
1
f << G.getName() << endl; // запись поля string
C++
1
getline(f, G.getName());  // чтение в поле string
 
Текущее время: 04:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru