Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

String isskaidymas i char masyva


MrMou6

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2399 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

  • Parašė po 3 savaičių...

Galima naudoti tam tikras funkcijas, kaip buvo minėta aukščiau, bet kai kurios iš jų nėra standartinės. Dėl to, pateikiu kitokį variantą. Šiaip, jeigu čia mokaisi visa tai ne dėl VBE, naudok STL konteinerius, kitas bibliotekas ar pnš.

#include <iostream>
#include <string.h>

using namespace std;

int main(int argc, char* argv[])
{
    string str1{"This is an example string."};
    string str2{"This is NOT an example string."};

    char chr_array1[str1.size() + 1];
    char chr_array2[str2.size() + 1];

    // Užbaigiame string'ą null terminator simboliu.
    strncpy(chr_array1, str1.c_str(), str1.size());
    chr_array1[str1.size()] = '\0';
    strncpy(chr_array2, str2.c_str(), str2.size());
    chr_array2[str2.size()] = '\0';

    // Sukuriame dar vieną masyvą.
    // Jame laikysime rodykles į simbolio tipo reikšmę.
    char* str_array[] = {chr_array1, chr_array2};

    // Čia matome, jog rodyklės yra ekvivalenčios masyvams.
    // Dėl to sintaksė išlieka ta pati.
    str_array[1][29] = '!';

    for (const auto &str : str_array)
    {
        cout << str << '\n';
    }

    return 0;
}

Be to, kam tau skaidyti string'us į simbolių masyvus? Juk galima string'ų pavienius simbolius pasiekti bei modifikuoti:

#include <iostream>

using namespace std;

int main(int argc, char* argv[])
{
    string str1{"This is an example string."};
    string str2{"This is NOT an example string."};

    string str_array[] = {str1, str2};

    str_array[1][29] = '!';

    for (const auto &str : str_array)
    {
        cout << str << '\n';
    }

    return 0;
}
Redaguota , nario Tautedorus
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2399 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...