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. |
|
yoogi |
» 2011-03-08 22:17:58 możesz za pomocą funkcji strcpy() przekonwertować stringa na tablicę charów |
|
malan |
» 2011-03-08 22:20:43 Jak sobie napiszesz to będzie ;p |
|
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. |
|
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 ;] |
|
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? |
|
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 ;] |
|
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) #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
|
|
« 1 » |