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

Файл произвольного доступа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Делимся знаниями по С++ http://www.cyberforum.ru/cpp-beginners/thread329054.html
По вашему зачем нужна виртуальная функция в программе? Какой от нее толк если она вызывается как обычная функция. Да я знаю что полиморфизм тут. Но по мне так достаточно одного базового класса который играет роль обобщенного интерфейса. Там тоже есть функции... У меня уже есть своя версия насчет виртуальной функции зачем она нужна и как её использовать в пользу в программе. Я хотел бы услышать...
C++ Программа на рекурсию - Перестановка ! Доброго времени суток, уважаемые знатоки. Возникла проблема с решением данной программы. Надеюсь услышать не глупые советы в стиле - решается простой рекурсией, или что тут всё просто как два пальца Суть : Дана строка, состоящая из M попарно различных символов. Вывести все перестановки символов данной строки. Ввод В первой строке файла находится исходная строка. Вывод Вывести в каждой... http://www.cyberforum.ru/cpp-beginners/thread329004.html
C++ Функции языка с++ и считывание данных в массив
Помогите найти ошибку в решении задачки на функции с++ и хранение данных в массиве. Программа должна запрашивать ввод данных (счета при какой-то игре) и сохранять их в массив, после чего считать средний результат. Счет данных и подсчет среднего значения должны управляться отдельными функциями. Максимальное кол-во данных - 10. У пользователя должна быть возможность прерывать ввод данных при вводе...
C++ Пмогите допилить програмку
#include <iostream> using namespace std; int main() { struct list { int data; list *next; list *prev; }; list *cur=0;
C++ Форматирование тексту + ошибки + лишнее http://www.cyberforum.ru/cpp-beginners/thread328954.html
Вот задача + решение // xz.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using std::cout; using std::cin; using std::endl;
C++ Функции языка с++ Пожалуйста не поленитесь, прочитайте всё и помогите :) . Заранее СПАСИБО! Разработайте функцию calculate(), принимающую два значения типа double и указатель на функцию, которая принимает в качестве аргументов два значения типа double и возвращает значение типа double. Функция calculate() также должна иметь тип double. Она должна возвращать значение, вычисляемое функцией, на которую указывает... подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
03.07.2011, 19:46  [ТС]     Файл произвольного доступа
ForEveR, а я такой нехороший так и не прочитал, извините, забылось за выходные )
Хотя что-то не сильно гугл выводит меня на информацию о нём и на сайте cplusplus.com нет статьи о нём ...

Цитата Сообщение от grizlik78 Посмотреть сообщение
Вообще-то я уже говорил вчера, почему вместо .data() здесь надо использовать .c_str()
С ней что-то тоже файл меняется в итоге.

Изменил вот так свою реализацию класса (менялась только реализация функции setName)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <string>
using std::string;
 
#include <cstring>
#include "ClientData.h"
 
ClientData::ClientData(int i, string n, double b)
{
    setID(i);
    setName(n);
    setBalance(b);
}
 
void ClientData:: setID(int i)
{
    ID=i;
}
 
int ClientData:: getID() const
{
    return ID;
}
 
void ClientData:: setName(string n)
{
    const char* lname=n.data();
    int length=n.size();
    length=(length<15 ? length : 14);
    strncpy(name,lname,length);
    name[length]='\0';
}
 
string ClientData:: getName() const
{
    string ret(name);
    return ret;
}
 
void ClientData:: setBalance(double b)
{
    balance=b;
}
 
double ClientData:: getBalance() const
{
    return balance;
}
и ... всё равно меняется результат записи класса каждый раз, есть ещё идеи? Вот про char была хорошая идея, я на него до этого не думал.

Добавлено через 4 минуты
У меня есть ещё main по записи и выводу данных в файл этого класса(я его не постил чтобы не запутывать) так вот после этих исправлений в классе он по прежнему после считывания выводит испорченные данные (портит имя и баланс, номер не портит) так что массив символов имя видать по прежнему всё перекручивает, хотя я вроде уже переписал его так что портить же не должен был он ничего
 
Текущее время: 14:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru