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

Хранение в массиве данных разного типа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как правильно записать функцию? http://www.cyberforum.ru/cpp-beginners/thread29941.html
Подскажите, пожалста, можно ли так делать: #include <math.h> double F1(double x,double y) { double f1=y+1.32-sin(x); return f1; }т е определить так функцию в заголовочном файле function.h, а потом использовать ее уже в файле **.cpp (подставлять в нее какие-нибудь значения и др)??
C++ Посчитать количество согласных букв в каждом втротом слове предложения ПОМОГИТЕ КТО НИБУДЬ ПЕРЕПИСАТЬ НА С++!!! Добавлено через 24 минуты 54 секунды program example1; uses wincrt; const glasn=; soglas=; var st: string; http://www.cyberforum.ru/cpp-beginners/thread29938.html
Файлы&Структуры C++
Можно ли создать структуру таким образом, что бы она записывалась в файл, а потом выводилась в виде таблицы, но что бы в таблице отображалось не все данные структуры,а только например Ф.И.О. и отображалось в виде кнопок и при выборе структуры (курсором или мишкой) откривалась более детальная информация о структуре?
C++ Задача на одномерный массив)
В одномерном масиве, состоящем из n вещественных элементов, вычислить: 1) номер минимального по модулю элемента масива; 2) сумму модулей элементов масива, рассположеных после первого отрицательного элемента;
C++ Определить класс "окружность на экране" http://www.cyberforum.ru/cpp-beginners/thread29913.html
Определить класс "окружность на экране". Предустмотреть в классе следующие поля: -координаты центра -радиус -цвет окружности и следующие методы: -инициализация окружности -рисование окружности -гашение окружности -изменение координат центра
C++ Обьясните как работает рекурсия в данной задаче есть вот такая програмка: #include <stdio.h> #include <conio.h> int a,cnt=0,N,K; void fun(long S, int tek) { if(tek==N) подробнее

Показать сообщение отдельно
Gimer
1 / 1 / 0
Регистрация: 18.01.2009
Сообщений: 17
14.04.2009, 03:34  [ТС]     Хранение в массиве данных разного типа
Цитата Сообщение от Gravity Посмотреть сообщение
Можно разделить 4-байтный int на 4 ячейки по 1 байту и писать в массив. Поразрядные операции должны помочь.
Была такая мысль, но код на то чтобы записать даже одно число в массив получается громоздким, а о том чтобы его прочесть из массива обратно я вообще не говорю
Цитата Сообщение от accept Посмотреть сообщение
Gimer, ты можешь буфер сделать не на byte, а на int и записывать туда char'ы
а вообще для таких случаев (когда в одном месте нужно хранить разные типы) юзают union, получится массив union'ов, где каждый union будет иметь размер самого большего типа в нём

когда char в int записываешь, если он отрицательный, то в int'е все левые биты заполнятся еденицами, потом при присваивании они отбросятся, но эти отбрасывания вроде не определены (то есть происходить-то они происходят, но вот будет ли так везде и всегда - неизвестно)
Идея того чтобы делать буффер не byte а int не подходящая так как в дальнейшем в buffer может храниться не только int но и float, long int и даже строки.

На счет union'ов, у меня программа клиент-сервер тоесть я на клиенте отсылаю серверу данный массив в котором записан 1 char и 2 int'a, и потом на сервере разбираю эту кучу(Отсылаемый массив должен быть равен 1+4+4=9 байтов). Но по моему при использовании union'ов не гарантируется что сервер их правильно прочитает, поскольку порядок следования данных в нем нигде не зафиксирован.
Цитата Сообщение от ISergey Посмотреть сообщение
Ну а вы что хотели в один символ строку впехнуть?!(не путайте)
не в один символ а в массив.

Неужели нет простых функций для работы с такими массивами, вот например как в нетипзированных файлах просто указываем тип переменной, записываем в файл, указываем другой тип переменной, записываем в этот же файл и т.д.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru