Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277

Выделение памяти и вывод её содержимого на печать в консоль

21.07.2016, 15:52. Показов 2220. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, форумчане.
Не подскажите, как в С++ выделить 1 кБайт памяти одним куском и вывести её содержание на экран консоли через cout ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.07.2016, 15:52
Ответы с готовыми решениями:

Вывод содержимого структуры COMMPROP на консоль
...доброго времени суток, уважаемые форумчане!... не могу понять как вывести содержимое структуры на экран...вот фрагмент кода: //...

Выделение объектов и вывод их на печать
Приветствую вас господа. У меня тупиковая задача. Дали задание на работе, которое я в принципе не понимаю как делать. Немного знаком с С++...

Не могу разобраться. Чтение и вывод на экран всего содержимого файла .txt на консоль
#include <cstdio> #include <iostream> #include <conio.h> #include <fstream> using namespace std; void main() { ...

11
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.07.2016, 16:01
new, цикл и cout.
1
 Аватар для Хрисипп
19 / 29 / 13
Регистрация: 09.02.2016
Сообщений: 230
21.07.2016, 16:02
C++
1
2
int *x=new int[1000/sizeof(int)];
    for(int i=0;i<1000/sizeof(int);i++) cout<<x[i]<<endl;
да и с любым типом так же
1
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
21.07.2016, 16:05  [ТС]
Хрисипп, А если нужно выделить просто кусок памяти без указания типа, то можно ли так сделать?
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
21.07.2016, 16:11
sergey.shuvalov, Так?
C++
1
2
3
4
5
6
7
8
9
10
11
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
///////////////////////////////////////////////////////////////////////////////
int main()
{
    char* arr = new char[1024];
    //заполняем
    std::cout
        << arr
        << std::endl;
}
Или так?
C++
1
2
3
4
5
6
7
8
9
10
11
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
///////////////////////////////////////////////////////////////////////////////
int main()
{
    char arr[1024]{};
    //заполняем
    std::cout
        << arr
        << std::endl;
}
Или, может быть, так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <string>
///////////////////////////////////////////////////////////////////////////////
int main()
{
    std::string str{ 1024, ' ' };
    //заполняем
    std::cout
        << str
        << std::endl;
}
А может вообще так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <vector>
///////////////////////////////////////////////////////////////////////////////
int main()
{
    std::vector< char > vec{ 1024 };
    //заполняем
    for( const char& i : vec )
    {
        std::cout
            << i
            << ' ';
    }
    std::cout << std::endl;
}
Или могу предложить вот так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <vector>
#include <string>
///////////////////////////////////////////////////////////////////////////////
int main()
{
    std::vector< std::string > vec{ 1024 / sizeof( std::string ) };
    //заполняем
    for( const std::string& i : vec )
    {
        std::cout
            << i
            << ' ';
    }
    std::cout << std::endl;
}
Что использовать, решать вам.

Добавлено через 1 минуту
sergey.shuvalov, А как ты собираешься заполнять, если компилятор типа знать не будет?
1
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
21.07.2016, 16:15  [ТС]
GbaLog-, В этом и вся суть. Нужно выделить кусок памяти и посмотреть её содержимое без указания типа.
0
 Аватар для Хрисипп
19 / 29 / 13
Регистрация: 09.02.2016
Сообщений: 230
21.07.2016, 16:20
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Нужно выделить кусок памяти и посмотреть её содержимое без указания типа.
ну можно просмотреть в шестнадцатеричной сс
C++
1
2
3
char *x=new char[1000];
    cout.unsetf(ios::dec); cout.setf(ios::hex); 
    for(int i=0;i<1000;i++) cout<<(int)x[i];
если к этому клонишь
1
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
21.07.2016, 16:21
Хотя можно, наверное, вот так.
C++
1
2
3
4
5
6
7
//////////////////////////////////////////////////
#include <iostream>
//////////////////////////////////////////////////
int main()
{
    void* p = std::malloc( 1024 );
}
Хотя не знаю, так как её в любом случае, чтобы заполнить и вывести - надо кастить.
1
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
21.07.2016, 16:22  [ТС]
Вывести по битно, так сказать, чтобы посмотреть содержимое каждого бита.
0
 Аватар для Хрисипп
19 / 29 / 13
Регистрация: 09.02.2016
Сообщений: 230
21.07.2016, 16:36
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Вывести по битно,
можно и побитно
C++
1
2
3
4
5
6
7
8
char *x=new char[1000];
    for(int i=0;i<1000;i++){
            for (int r = 0; r < 8; r++){
                if (x[i] & 0x80)
                cout << "1";
                else cout << "0";
                x[i] = x[i] << 1;
}}
1
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
21.07.2016, 16:39  [ТС]
А может класс-контейнер bitset использовать? Как считаете?
0
 Аватар для Хрисипп
19 / 29 / 13
Регистрация: 09.02.2016
Сообщений: 230
21.07.2016, 16:43
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
класс-контейнер bitset
конечно с ним удобней
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.07.2016, 16:43
Помогаю со студенческими работами здесь

Выделение памяти (CodeGear RAD Studio 2009 - C++ builder). Выделение памяти - консоль vs SDIApp
Есть определенный класс - длинная арифметика. Не идеальный - хранение данных исполнено в виде динамического массива типа short int, каждая...

Вывод в консоль содержимого сайта
Доброго времени суток. Впервые пишу вопрос на форуме, поправляйте если что. Ниже приведён текст программы которая обращается на...

Вывод и в консоль и очистка содержимого файла
Есть вот такой файл: #!/bin/bash tail error.log sudo rm error.log sudo nginx -s reopen Если содержимое файла изначально пустое,...

Вывод содержимого StringGrid-а на печать
Как вывести содержимое стрингрида на печать? Жмем кнопку «печать» и содержимое стрингрида открывается в ексел.

Вывод на печать содержимого Memo.
дайте пожалуста код печати из Memo ЗАРАНИЕ БЛОГАДОРЮ


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru