Нужно разбить переменную(строку) char details на более мелкие элементы с помощью символа разделителя.Если вывести на экран используя имя указателя, то всё в порядке, проблема в том, что я не знаю как полученные части засунуть в новые переменные для дальнейшего использования. До этого для написания парсеров юзал autoIt, там без проблем всё разбивалось на массив и новые переменные(строки) определялись как части массива. Code: #include "stdafx.h" #include <iostream> #include <cstring> using namespace std; int main () { char details[] = "125.126.125.100;noob;noob1"; char * string = strtok (details,";"); cout << string << endl; //char ip=?; Тут нужно как-то присвоить переменной ip строку указателя //cout << ip << endl; и для проверки вывести на экран string = strtok (NULL, ";"); cout << string << endl; //char username=?; Тут нужно как-то присвоить переменной username строку указателя string = strtok (NULL, ";"); cout << string << endl; //char password=?; Тут нужно как-то присвоить переменной password строку указателя return 0; }
C++03: Code: #include <iostream> #include <string> #include <sstream> int main() { std::stringstream ss("125.126.125.100;noob;noob1"); std::string ip, login, password; std::getline(ss, ip, ';'); std::getline(ss, login, ';'); std::getline(ss, password, ';'); std::cout << ip << std::endl; std::cout << login << std::endl; std::cout << password << std::endl; } C++11: Code: #include <iostream> #include <string> #include <sstream> int main() { std::stringstream ss("125.126.125.100;noob;noob1"); std::string ip, login, password; for(auto* str : { &ip, &login, &password }) { std::getline(ss, *str, ';'); std::cout << *str << std::endl; } }