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

[C++] explode()

Ostatnio zmodyfikowano 2011-03-08 23:16
Autor Wiadomość
Animax97
Temat założony przez niniejszego użytkownika
[C++] explode()
» 2011-03-08 21:52:29
Jest jakaś funkcja, która dzieli string co dany znak? Coś alla explode z PHP.
P-29013
yoogi
» 2011-03-08 22:17:58
możesz za pomocą funkcji strcpy() przekonwertować stringa na tablicę charów
P-29014
malan
» 2011-03-08 22:20:43
Jak sobie napiszesz to będzie ;p
P-29016
Animax97
Temat założony przez niniejszego użytkownika
» 2011-03-08 22:24:04
A moglibyście mi trochę pomóc?
Bo nie wiem, jak się za to zabrać.


char* zmienna = "Ala, ma, kota"
I teraz, każdy wyraz po ',' chciałbym odczytać osobno.
P-29017
yoogi
» 2011-03-08 22:33:18
możesz użyć warunku za pomocą kodowania ANSII czy jakoś tak ;] czyli tworzysz pętlę którwa sprawdza cały ciąg znaków i warunek jeżeli znajdzie taki znak to jakaś czynność i tyle ;]
P-29018
Animax97
Temat założony przez niniejszego użytkownika
» 2011-03-08 22:37:40
Raczej nie mogę, bo dopiero zaczynam z C++ ;/
Mógłbyś mi zapodać jakąś najprostszą funkcje?
P-29019
yoogi
» 2011-03-08 22:45:28
w c++ nie ma tak że ten lepszy który zna więcej funkcji programista powinien umieć tworzyć własne funkcję, o ile wiem to w PHP też są pętle warunki if  o takiej składni jak w c++, jak nie znasz jeszcze tego dobrze to polecam kurs który znajduję się na tej stronie ;]
P-29022
ison
» 2011-03-08 23:16:38
może być na std::string?
jako argument podajesz string z którego ma być wycięte słowo, znak którym są oddzielone kolejne słowa i numer słowa (zaczynając od 0)

C/C++
#include <string>
#include <iostream>

std::string magic( const std::string & str, const char ch, const unsigned int v )
{
    std::string ret = "";
    for( size_t i = 0, tmp = 0; i < str.size(); ++i ) {
        if( str[ i ] == ch ) {
            if( tmp > v ) break;
            else ++tmp;
           
        }
        else if( tmp == v ) ret += str[ i ];
       
    }
    return ret;
}

int main()
{
    std::string test = "aaa,bbb,ccc";
    std::cout << magic( test, ',', 0 ) << std::endl;
    std::cout << magic( test, ',', 1 ) << std::endl;
    std::cout << magic( test, ',', 2 ) << std::endl;
}

output:
aaa
bbb
ccc
P-29028
« 1 »
  Strona 1 z 1