Такой вопрос, есть ошибки в коде, помогите пожалуйста решить

Вот ОШИБКИ:

Ошибка C2660 strtok_s: функция не принимает 2 аргументов Строка 51
Ошибка C2660 strtok_s: функция не принимает 2 аргументов Строка 58
Ошибка (активно) E0165 слишком мало аргументов в вызове функции Строка 51 Ошибка (активно) E0165 слишком мало аргументов в вызове функции Строка 58

Буду рад помощи

   #include <iostream>
    #include <random>
    #include <time.h>
    #include <string>
    #include <stdio.h>
    #include <Windows.h>
    #include <math.h>
    #pragma warning (disable:4996);
    using namespace std;
    int CountWords(char* str1, char* str2)
    {
        int count = 0;
        char* pos = strchr(str1, str2[0]);
        do
        {
            if (!strncmp(&pos[0], str2, strlen(str2)))
                count++;
            pos = strchr(&str1[strlen(str1) - strlen(pos) + 1], str2[0]);
        } while (pos);
        return count;
    }
    int CountSentenses(char* str)
    {
        int count = 0;
        for (int i = 0; i < strlen(str); i++)
            if (str[i] == '.' || str[i] == '!' || str[i] == '?')
                count++;
        return count;
    }
    int PointsCommas(char* str)
    {
        int count = 0;
        for (int i = 0; i < strlen(str); i++)
            if (str[i] == '.' || str[i] == ',')
                count++;
        return count;
    }
    char ReverseStr(char* str)
    {
        char tmp[10000];
        strcpy_s(tmp, str);
        for (int i = 0, j = strlen(tmp) - 1; i <= j + i; i++, j--)
            str[i] = tmp[j];
        return *str;
    }
    void ReverseSentences(char *str)
    {
        char *buf = strtok_s(str, ".!?");
        while (buf)
        {
            for (int i = strlen(str); i >= 0; i--)
            {
                cout << str[i];
            }
            buf = strtok_s(NULL, ".!?");
        }

}

Ответы (0 шт):