CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Borland - konwersja string na int

Borland - konwersja string na int

dział ogólny

Borland - konwersja string na int

Nowy postprzez PL_Andrev » piątek, 16 grudnia 2016, 10:33

Witam,
Mam problem "nie do przeskoczenia" - (wujek Google nie pomógł): jak przekonwertować string do int?
W pliku mam n-linii ułożonych wg wzoru: liczba1 - tab - liczba2 - tab - nazwa;

Do przechowywania rekordów używam wektorów. Nie jestem jednak w stanie przekonwertować stringa na inta, co jest konieczne gdyż w dalszej części kodu będę dokonywał na nich operacji matematycznych.
Próbowałem metody string->AnsiString->int, ale też nie dało rezultatu.
Oto kod w którym poległem:
KOD cpp:     UKRYJ  
        vector<int> x_array;
        vector<int> y_array;
        vector<AnsiString> z_array;

        string liczba;
        AnsiString licz;
        int no;

        ifstream infile(File1.c_str());
        if (!infile) return;

        while (!infile.eof())
        {
                infile >> liczba;
                no = liczba.ToInt();
                x_array(no);

                infile >> liczba;
                licz = liczba.c_str();
                no = licz.ToInt();

                y_array(no);
                infile >> liczba;
                z_array(liczba.c_str());
        }

        infile.close();
 
Avatar użytkownika
PL_Andrev
Bladawiec
Bladawiec
 
Posty: 6
Dołączył(a): czwartek, 15 grudnia 2016, 21:46
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Win.10
Kompilator: Builder 6
Gadu Gadu: 0
    WindowsChrome

Re: Borland - konwersja string na int

Nowy postprzez polymorphism » piątek, 16 grudnia 2016, 12:43

wujek Google nie pomógł

Zawsze jak widzę taki tekst, zastanawiam się, co autor wpisywał w wyszukiwarkę, że nic mu nie wyszukała -> stoi.

KOD cpp:     UKRYJ  
string liczba;
int no;
...

    infile >> liczba;
    no = liczba.ToInt();
 

A nie możesz po prostu tak:
KOD cpp:     UKRYJ  
infile >> no;

KOD cpp:     UKRYJ  
x_array(no);
...

y_array(no);

A to co ma robić?
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows 7Firefox

Re: Borland - konwersja string na int

Nowy postprzez PL_Andrev » piątek, 16 grudnia 2016, 13:50

Przepraszam za moją tępotę, ale naprawdę nie jestem w stanie tego ogarnąć:
polymorphism napisał(a):A nie możesz po prostu tak:
KOD cpp:     UKRYJ  
int no;
infile >> no;
x_array(no);

E2314 Call of nonfunction



KOD cpp:     UKRYJ  
string liczba;
infile >> liczba;
x_array(atoi(liczba));

E2034 Cannot convert 'string' to 'const char* '



KOD cpp:     UKRYJ  
string liczba;
infile >> liczba;
x_array(atoi(liczba.c_str()));

E2314 Call of nonfunction



Co to ma robić?
Generalnie to x,y to lokalizacja punktów generowanych losowo ale tak, aby żaden z nich nie był bliżej innego niż jakaś tam długość.
Stąd dobierając losowo nowy punkt x,y mogę sprawdzić po całej tablicy czy odległość od punktów z całej tablicy spełnia ten warunek.
Avatar użytkownika
PL_Andrev
Bladawiec
Bladawiec
 
Posty: 6
Dołączył(a): czwartek, 15 grudnia 2016, 21:46
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Win.10
Kompilator: Builder 6
Gadu Gadu: 0
    WindowsChrome

Re: Borland - konwersja string na int

Nowy postprzez polymorphism » piątek, 16 grudnia 2016, 14:13

Pytałem się, co konkretnie te dwie linijki mają, według Ciebie, robić. Jeśli sądzisz, że tak się dodaje pozycje do wektora, to źle sądzisz. Metoda push_back służy do wstawiania na koniec.

PS. link w mojej stopce powinien Cię zainteresować.
C++ Reference - opis wszystkich klas STL-a i funkcji C.

Za ten post autor polymorphism otrzymał podziękowanie od:
PL_Andrev
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows 7Firefox


Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 65 gości

cron