Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
19 / 13 / 6
Регистрация: 25.05.2022
Сообщений: 71

Считывание из потока в динамический массив

08.09.2022, 07:20. Показов 1068. Ответов 7
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Кто подскажет, как выдрать из потока ввода консоли все символы и засунуть их посимвольно в динамический массив? Размер нужно задавать уже после ввода и нажатия Enter. Ничего в голову не приходит.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.09.2022, 07:20
Ответы с готовыми решениями:

Считывание до конца потока в числовой массив
Здравствуйте. Проблема с Как реализовать считывание до конца потока из файла вместе со scanf() или != EOF. В поиске нашёл реализацию...

Считывание из файла в динамический массив
Если сделать типизированный файл, то ведь при считывании его эл-ов в массив нужно выделить память. Собственно вопрос в том как сделать...

Считывание данных с файла в динамический массив
Надо написать программу для считывания двумерного массива из файла, при этом память под массив должна выделяться динамически.

7
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
08.09.2022, 08:09
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int size = 256; char* buf = new char[size+1];
while((c=getchar())!='\n')
{
if(i>=size)
{
char* tmp = new char[size*=2+1];
strcpy(tmp, buf);
delete[] buf;
buf = tmp; tmp = NULL;
}
buf[i] = c;
}
buf[i] = '\0';
char* str = new char[i + 1];
strcpy(str, buf);
delete[] buf;
0
19 / 13 / 6
Регистрация: 25.05.2022
Сообщений: 71
08.09.2022, 08:27  [ТС]
Это все конечно интересно, но можно ли сделать чтобы размер массива автоматом как-то высчитывался из размера буфера потока? Не совсем понятно как это в кишках работает.
0
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
08.09.2022, 08:28
C++
1
std::getline(std::cin,std::string);
0
19 / 13 / 6
Регистрация: 25.05.2022
Сообщений: 71
08.09.2022, 08:41  [ТС]
Вот чтобы работало как в std::string, но самому сделать)) Может есть ссылки где про это почитать? Или не стоит оно того?
0
 Аватар для PencilTorch
90 / 60 / 32
Регистрация: 06.08.2020
Сообщений: 220
08.09.2022, 09:07
Ну вот в первом ответе и показано, как в string динамический чаровый массив перевыделяется с копированием.
0
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
08.09.2022, 09:16
Ron1988, если вам дали такую задачу, то тут просто нужно сделать, если нет, то не стоит

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct elem{
char data;
elem* next = NULL;
};
//...
elem beg, *i = beg.next;
char c = getchar();
if(c!='\n'l
beg.data = c;
while((c = getchar())!='\n')
{
i = new elem:
i->data = c;
i = i->next;
}
for(i = &beg; i; i = i->next)
std::cout << i->data;
//...
0
19 / 13 / 6
Регистрация: 25.05.2022
Сообщений: 71
09.09.2022, 07:24  [ТС]
Получилось как то так в результате:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/...
    char ch;
 
    cin.sync();
    cin.get(ch);
    cin.putback(ch);
 
    streamsize n = cin.rdbuf()->in_avail();
    char* str = new char[n];    // Создаём массив по размеру буфера
    int i = 0;
 
    while (i < n)
    {
        cin.get(str[i]);    // Заполняем массив посимвольно из буфера
        i++;
    }
    str[n - 1] = '\0';
//...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2022, 07:24
Помогаю со студенческими работами здесь

Считывание файла в динамический массив построчно
Все мои варианты зависали или вылетали при большом колличество слов в файле.. Если же слов в районе 50, всё работало.. помогите пожалуйста....

Считывание данных в двумерный динамический массив
Добрый день, возникла проблема в процессе работы с текстовым файлом и последующим считыванием его. Нам дан текстовый файл, в котором...

Считывание элементов с файла в динамический массив
Не знаю в какой именно теме оставить вопрос, поэтому прошу тапками не кидаться. Из файла считываются целые числа, необходимо экономно...

Заполнить динамический массив из стандартного потока ввода
Тяжкий случай с динамическими массивами. И думаю не у меня одного. Вот пример заполнения массива данными: char *mess; ...

Считывание матрицы из файла и запись в динамический массив
Подскажите, что добавить, чтобы происходило считывание массива неопределенного размера. (чтобы узнавал размер массива) using...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru