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

Ввод строки неизвестной длины через функцию в C++

17.09.2020, 06:49. Показов 2255. Ответов 6

Студворк — интернет-сервис помощи студентам
Как ввести строку неизвестной длины через метод класса в C++?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.09.2020, 06:49
Ответы с готовыми решениями:

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

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

Ввод строки неизвестной длины в С (Именно С)
Нужна помощь в написании блока кода. Ввод динамической строки word через getc(stdin). Если в строке присутствует символ из строки del, то...

6
фрилансер
 Аватар для Алексей1153
6463 / 5675 / 1131
Регистрация: 11.10.2019
Сообщений: 15,117
17.09.2020, 07:24
TomasMaple,

std::getline
0
 Аватар для TomasMaple
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 47
17.09.2020, 12:05  [ТС]
А как можно сделать ввод с консоли строки для объекта класса?
т.е я хочу сделать как-то так:
можно ли это как-то провернуть?
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
#include<iostream>
#include<string>
#include<Windows.h>
 
using namespace std;
 
class MyString
{
public:
    MyString(/*сюда передается/копируется строка*/)
    {
        this->str='переданная строка';
    }
private:
        string str;
...
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    string str;
 
    getline(cin, str);
    MyString str2(str);
...
}
0
фрилансер
 Аватар для Алексей1153
6463 / 5675 / 1131
Регистрация: 11.10.2019
Сообщений: 15,117
17.09.2020, 12:10
Лучший ответ Сообщение было отмечено TomasMaple как решение

Решение

TomasMaple, можно

C++
1
2
3
4
    MyString(const std::string& s)//или const std::string_view s
    {
        str=s;
    }
1
 Аватар для TomasMaple
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 47
17.09.2020, 12:32  [ТС]
позвольте пожалуйста спросить еще
а как можно такое же сделать с массивом char?
т.е ввести строку неизвестного размера

в таком случае в классе будет так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
class MyString
{
public:
 
    MyString(const char* str)
    {
 
private:
    // Указатель на массив char, хранит символы, которые мы передали в наш объект.
    char* str;
    int length;
};
0
фрилансер
 Аватар для Алексей1153
6463 / 5675 / 1131
Регистрация: 11.10.2019
Сообщений: 15,117
17.09.2020, 12:53
TomasMaple, значит, нужно класс MyString сделать аналогом класса std::string. То есть - внутри вручную управлять выделением (new) и освобождением (delete) памяти
1
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
17.09.2020, 13:02
Книга С.Прата страница 609.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.09.2020, 13:02
Помогаю со студенческими работами здесь

Ввод строки неизвестной длины в С (Именно С)
Как ввести строку с неизвестным количеством символов? Даже нет представления как использовать malloc и realloc, если в этих функциях тоже...

Ввод массива заранее неизвестной длины
#include &lt;iostream&gt; using namespace std; int main () { int n; // ввод неизвестного массива int*mass = new int ; for (int i...

Ввод массива заранее неизвестной длины
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { int arr, a = 0; cout &lt;&lt; &quot;Вводите...

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

Чтение строки неизвестной длины
реализация на СИ как прочитать строку неизвестной длины? Чтение должно быть не посимвольным. Строка вводиться вручную.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru