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

Przypisywanie do string wartości ze zmiennych liczbowych

Ostatnio zmodyfikowano 2010-12-27 13:27
Autor Wiadomość
bartek9393
Temat założony przez niniejszego użytkownika
Przypisywanie do string wartości ze zmiennych liczbowych
» 2010-12-27 11:23:45
Witam!

Piszę program, w którym, muszę zapisać na dysku
kilka plików, których liczba jest zależna od wielkości z_sterującej.

mam tak:

for(int lista9=0; lista9<z_sterujaca; lista9++)
{
string nazwa=".\\data\\"+lista9+".imie";
fstream plik;
plik.open(&nazwa[0],ios::out);
plik<<kontakt_tab[lista9].imie;
plik.close();
}

głównie chodzi mi o to, żeby nazwa pliku zmieniała się wraz ze wzrostem zmiennej lista9,
a nie mogę tak zrobić, bo konwersja z int na string nie jest chyba możliwa?

czy nożna jakoś wartość ze zmiennej int zapisać jako tekst w zmiennej string?

wpadłem na pomysł, aby zrobić tak:

string liczba[]={"0","1","2","3","4","5"};
for(int lista9=0; lista9<z_sterujaca; lista9++)
{
string nazwa=".\\data\\"+liczba[lista9]+".imie";
fstream plik;
plik.open(&nazwa[0],ios::out);
plik<<kontakt_tab[lista9].imie;
plik.close();
}

i to by działało, tylko, że jeżeli ja mam tablicę kontaktów na 100 osób, to bym musiał
deklarować string liczba[]={"0","1","2","3","4","5" i tak aż do 99?};

tablica kontaktów jest na 100 osób, ale o ilości zapisywanych plików i ilości zapisanych kontaktów w tablicy
informuje z_sterująca.

Z góry dzięki za odpowiedź.
Pozdrawiam!
P-25649
michalp
» 2010-12-27 11:27:06
itoa() bądź też stringstream.
P-25650
SeaMonster131
» 2010-12-27 11:27:17
Bodajże itoa() konwertuje liczbę na tekst:
http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/

#wyprzedziłeś mnie @up hehe :)
P-25651
szyx_yankez
» 2010-12-27 11:39:33
P-25653
ison
» 2010-12-27 11:47:44
C/C++
#include <sstream>

C/C++
for( int lista9 = 0; lista9 < z_sterujaca; lista9++ ) {
    ostringstream liczba( "" );
    liczba << lista9;
    string nazwa = ".\\data\\" + liczba.str() + ".imie";
    std::cout << nazwa << endl;
    fstream plik;
    plik.open( & nazwa[ 0 ], ios::out );
    plik << kontakt_tab[ lista9 ].imie;
    plik.close();
}
P-25654
Elaine
» 2010-12-27 12:08:54
Nie &nazwa[0] tylko nazwa.c_str(), std::string niekoniecznie jest zakończony zerem.
P-25656
bartek9393
Temat założony przez niniejszego użytkownika
» 2010-12-27 13:27:00
Dzięki wielkie, wypróbowałem sposób podany przez ison i działa!
P-25657
« 1 »
  Strona 1 z 1