How to get the first N words from a string in C

1 Answer

0 votes
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void FirstNWords(char str[], int N, char *p) {
    char *delimiter = " ";
    char *token = strtok(str, delimiter);

    while (N != 0 && token != NULL) {
        strcat(strcat(p, token), " ");
        token = strtok(NULL, delimiter);
        N--;
    }
}


int main()
{
    char s[] = "c c++ javascript python c# php";
    int N = 3;

    char *p = (char*) calloc(strlen(s) + 1, sizeof(char));

    *p = 0;
    FirstNWords(s, N, p);

    puts(p);

    free(p);

    return 0;
}





/*
run:

c c++ javascript

*/

 



answered Feb 8, 2022 by avibootz

Related questions

1 answer 97 views
2 answers 168 views
2 answers 139 views
1 answer 120 views
2 answers 150 views
1 answer 107 views
...