Как разделить символ с помощью Win32 Api c ++?

Я использую C ++ Win32 Api.

я хочу разделить персонажа, используя delimiter,

этот персонаж как "CN=USERS,OU=Marketing,DC=RAM,DC=COM",

я хочу разделить символ после первой запятой (,). это означает, что мне нужно только

OU=Marketing,DC=RAM,DC=COM.

я уже пробовал strtok функция, но она разделяет только CN = USERS.

Как я могу достичь этого?

0

Решение

Попробуйте следующий код, вы сможете легко получить каждый элемент (разделенный ‘,’):
версия strtok:

char domain[] = "CN=USERS,OU=Marketing,DC=RAM,DC=COM";
char *token = std::strtok(domain, ",");
while (token != NULL) {
std::cout << token << '\n';
token = std::strtok(NULL, ",");
}

версия std :: stringstream:

std::stringstream ss("CN=USERS,OU=Marketing,DC=RAM,DC=COM");
std::string item;
while(std::getline(ss, item, ','))
{
cout << item << endl;
}

Посмотрите на std :: getline ()
http://en.cppreference.com/w/cpp/string/basic_string/getline

3

Другие решения

С помощью strchr делает это довольно просто:

char domain[] = "CN=USERS,OU=Marketing,DC=RAM,DC=COM";
char *p = strchr(domain, ',');
if (p == NULL)
{
// error, no comma in the string
}
++p; // point to the character after the comma
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector