I am trying to make a program in which a user enters a string and i will print out the second word in the string with its size. The delimiter's are space( ), comma(,) and tab( ). I have used a character array and fgets to read from user and a character pointer that points to the first element of the array.
source code:
#include"iostream"
#include<stdio.h>
#include<string>
using namespace std;
// extract the 2nd word from a string and print it with its size(the number of characters in 2nd word)
int main()
{
    char arr[30], arr1[30];
    char *str = &arr1[0];
    cout<<"Enter a string: ";
    fgets(str, 30, stdin);
    int i = 0, j, count = 1, p = 0;     // count is used to find the second word
    // j points to the next index where the first delimiter is found.
    // p is used to store the second word found in character array 'arr'
    while(*(str+i) != '\n')
    {
        if(*(str+i) == ' ' || *(str+i) == ',' || *(str+i) == '  ')
        {
            count++;
            if(count == 2)
            {
                // stroing 2nd word in arr character array
                j = i+1;    
                while(*(str+j) != ' ' || *(str+j) != ',' || *(str+j) != '   ')
                {
                    arr[p] = *(str+j);
                    cout<<arr[p];
                    p++;
                    i++;
                    j++;
                }
                break;
            }
        }
        i++;
    }
    arr[p+1] = '\0';        // insert NULL at end
    i = 0;
    while(arr[i] != '\0')
    {
        cout<<arr[i];
        i++;
    }
    cout<<"("<<i<<")"<<endl;
    return 0;
}
Help me out with this.
 
     
     
     
     
     
    