• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Konwersja string na liste

0 głosów
48 wizyt
pytanie zadane 4 dni temu w C i C++ przez MichaelM Użytkownik (830 p.)

Witam, mam stringa tekst = "123"- chciałbym z niego zrobić listę char a["1", "2", "3"]. Jak to zrobić? Gdy używam metody toCharArray() wyskakuje błąd [Error] 'std::string' {aka 'class std::__cxx11::basic_string<char>'} has no member named 'toCharArray'. Proszę o pomoc.

komentarz 4 dni temu przez adrian17 Ekspert (320,640 p.)

Ciężko zrozumieć co w zasadzie chcesz zrobić...

listę char a["1", "2", "3"]

Chyba mieszasz pojęcia tablicy vs listy oraz stringa vs chara. Ale zakładam że masz na mysli tablicę charów...

Nie ma czegoś takiego jak 'toCharArray()', tak samo jak nie ma 'zamienNaTabliceCharow()'; nie wiem skąd to wziąłeś.

Ba, string to już w zasadzie jest tablica charów. Nie trzeba robić żadnej "konwersji".

Więc co takiego chcesz zrobić że potrzebujesz "zamienić string na tablicę charów"?

1 odpowiedź

0 głosów
odpowiedź 4 dni temu przez Apled Gaduła (4,920 p.)

Możesz to zrobić na kilka sposobów.

Możesz przeiterować przez string i wrzucać znaki do tablicy.

Możesz użyć strcpy(a, tekst.c_str()) - podajesz gdzie zapisać i co.

Możesz zrobić tak:

    std::string str = "123";

    int len = str.length();
    char* tab;
    tab = &str[0];

    for (int i = 0; i < len; i++) {
        std::cout << tab[i] << '\n';
    }

Będzie jeszcze co najmniej kilka sposobów, jeżeli będziesz korzystał z bibliotek do stringów.

komentarz 4 dni temu przez VBService Mędrzec (171,270 p.)
edycja 4 dni temu przez VBService

@adrian17, napisał

Ba, string to już w zasadzie jest tablica charów. Nie trzeba robić żadnej "konwersji".

 

#include <iostream>

using namespace std;

int main()
{
    string str = "123";

    for (int i = 0; i < str.length(); i++)
        cout << str[i] << ' ';

    return 0;
}

 

no i

mam stringa tekst = "123"- chciałbym z niego zrobić listę char a["1", "2", "3"]. 

 

ten zapis 

char a["1", "2", "3"];

zwróci błąd.

chyba chodziło Tobie o coś takiego np.

    string str = "123";
    char chstr[3] = { '1', '2', '3' };

 

Podobne pytania

0 głosów
2 odpowiedzi 639 wizyt
0 głosów
1 odpowiedź 1,070 wizyt
pytanie zadane 12 kwietnia 2016 w C i C++ przez Barus Stary wyjadacz (14,120 p.)
0 głosów
1 odpowiedź 5,611 wizyt
pytanie zadane 24 czerwca 2016 w C i C++ przez MasterFlamaster Początkujący (300 p.)

88,311 zapytań

136,904 odpowiedzi

305,517 komentarzy

58,593 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...