Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dynamiczne wczytanie tablicy charów

Ostatnio zmodyfikowano 2018-06-16 18:19
Autor Wiadomość
aram100
Temat założony przez niniejszego użytkownika
Dynamiczne wczytanie tablicy charów
» 2018-06-16 17:42:21
Hej

Załóżmy że chcę pobrać od użytkownika jakiś długi, ale nie znam DOKŁADNEGO rozmiaru.
Normalnie można użyć string'a:

C/C++
#include <iostream>
#include <string>

using namespace std;

int main()
{
    cout << "Podaj wyraz" << '\n';
    string wyraz;
    cin >> wyraz;
    cout << "Wpisany wyraz to: << string << '\n';
   
    return 0;
}


Problem jest taki, że nie mogę używać stringów w zadaniu które dostałem
Niby string to tablica znaków typu char.

Da się jakoś taką tablicę zaalokować aby przyjmowała dynamicznie rozmiar wpisywanego wyrazu.? Tak aby nie pobierać wcześniej wielkości od user'a
P-171587
md37
» 2018-06-16 17:58:04
Klasa std::string sama zajmuje się gospodarką pamięci. Automatycznie alokuje więcej miejsca, gdy jest to potrzebne. Program, który napisałeś, zadziała.
P-171588
garlonicon
» 2018-06-16 18:19:28
Da się jakoś taką tablicę zaalokować aby przyjmowała dynamicznie rozmiar wpisywanego wyrazu.? Tak aby nie pobierać wcześniej wielkości od user'a
Tak, da się. Przydzielasz ileśtam pamięci (wybierz sobie jakąś stałą liczbę). Jeśli napis jest dłuższy, przydzielasz więcej, kopiujesz dane, usuwasz mniejszą tablicę. I tak w kółko aż do wczytania całości. Ewentualnie możesz od razu przydzielić jej bardzo dużo i rzucić błąd jak napis będzie dłuższy.
P-171589
« 1 »
  Strona 1 z 1