C ++ strtok () - C ++ стандартна библиотека

Функцията strtok () в C ++ връща следващия маркер в нулев прекратен байт низ.

strtok () прототип

 char * strtok (char * str, const char * delim);

Най strtok()функция отнема два аргумента: ул и разделител. Тази функция намира маркера в низа, посочен от strtok. Разделителят на показалеца сочи към разделителните знаци.

Тази функция може да бъде извикана няколко пъти, за да получи жетони от един и същ низ. Има два случая:

  • Ако str не е NULL:
    Извикване на strtok () се счита за първо извикване за този низ. Функцията търси първия символ, който не се съдържа в delim. Ако не бъде намерен такъв знак, низът не съдържа никакъв маркер. Така се връща нулев указател. Ако такъв символ бъде намерен, оттам нататък функцията търси символ, който присъства в delim. Ако не е намерен разделител, str има само един маркер. Ако се намери разделител, той се заменя с ' 0' и указателят към следния символ се съхранява на статично място за последващи извиквания. И накрая, функцията връща указателя към началото на маркера.
  • Ако str е NULL:
    Повикването се счита за последващи повиквания към strtok и функцията продължава от мястото, където е останала при предишно извикване.

Определя се в заглавния файл "> заглавния файл.

strtok () Параметри

  • str: Указател към нулевия прекратен байтов низ, който да се токенизира.
  • delim: Указател към низово прекратен байт низ, който съдържа разделителите.

strtok () Върната стойност

Най strtok()функцията връща курсора към следващата логика, ако има такъв, или го връща NULL, ако не бъдат намерени повече лексеми.

Пример: Как работи функцията strtok ()

 #include #include using namespace std; int main() ( char str() = "parrot,owl,sparrow,pigeon,crow"; char delim() = ","; cout << "The tokens are:" << endl; char *token = strtok(str,delim); while (token) ( cout << token << endl; token = strtok(NULL,delim); ) return 0; )

Когато стартирате програмата, изходът ще бъде:

 Жетоните са: папагал сова врабче гълъб врана

Интересни статии...