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

Problem z wyświetleniem zmiennej typu 'std::string'

Ostatnio zmodyfikowano 2010-08-31 19:39
Autor Wiadomość
robaczek122
Temat założony przez niniejszego użytkownika
Problem z wyświetleniem zmiennej typu 'std::string'
» 2010-08-31 19:18:38
Dlaczego nie da się wyświetlić stringa "dwa" w taki sam sposób jak to zrobiłem ze stringiem "jeden"?

C/C++
#include <iostream>
#include <conio.h>
#include <fstream>
using namespace std;
string jeden, dwa;
int main()
{
    jeden = "ABCDEF";
    cout << jeden << endl;
    dwa[ 0 ] = jeden[ 2 ];
    dwa[ 1 ] = jeden[ 5 ];
    dwa[ 2 ] = 'NULL';
    cout << dwa << endl;
    getch();
    return( 0 );
}
P-21454
ison
» 2010-08-31 19:24:21
string działa podobnie jak wektor (jeśli nie wiesz co to jest warto się zapoznać)
to tak jakbyś się chciał odwołać do nieistniejącej komórki. Plusy tego są takie że zajmujesz tylko tyle pamięci ile potrzeba nie zakładając z góry jak długi może być string

poprawiony kod:
C/C++
#include <iostream>
#include <string>
#include <conio.h>
#include <fstream>
using namespace std;
string jeden, dwa;
int main()
{
    jeden = "ABCDEF";
    cout << jeden << endl;
    dwa.resize( 2 );
    dwa[ 0 ] = jeden[ 2 ];
    dwa[ 1 ] = jeden[ 5 ];
    cout << dwa << endl;
    getch();
    return( 0 );
}
P-21455
robaczek122
Temat założony przez niniejszego użytkownika
» 2010-08-31 19:27:29
Czyli muszę znać długość tego stringu "dwa" zanim zacznę do niego dopisywać kolejne literki w taki sposób?
P-21457
ison
» 2010-08-31 19:36:22
nie, operator += automatycznie powiększa string o 1 pole
C/C++
#include <iostream>
#include <string>
#include <conio.h>
#include <fstream>
using namespace std;
string jeden, dwa;
int main()
{
    jeden = "ABCDEF";
    cout << jeden << endl;
    dwa += jeden[ 2 ];
    dwa += jeden[ 5 ];
    cout << dwa << endl;
    getch();
    return( 0 );
}
P-21458
robaczek122
Temat założony przez niniejszego użytkownika
» 2010-08-31 19:39:29
O właśnie takie rozwiązanie mi chodziło.

Dzięki wielkie.
P-21460
« 1 »
  Strona 1 z 1