Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct SentenceArray *getAllSentencesArrayNew(const char *str) {
- int numOfSen = 0;
- int startOfSen = 0;
- int bindex = 0;
- struct SentenceArray * newSentArray = malloc(sizeof(struct SentenceArray));
- for (int i = 0; i < strlen(str); i++)
- {
- if (str[i] == ' ')
- {
- do
- {
- i++;
- } while (!(isalpha(str[i])) && str[i] != '\0');
- startOfSen = i;
- break;
- }
- else
- break;
- }
- for (int i = 0; i < strlen(str); i++)
- {
- if ((str[i] == '.' || str[i] == '!' || str[i] == '?') && (str[i + 1] != '.' && str[i + 1] != '?' && str[i + 1] != '!'))
- {
- numOfSen++;
- }
- }
- for (int i = 0; i < numOfSen; i++)
- {
- puts("**ITERATION**");
- printf("%i\n", startOfSen);
- char bstring[128] = "";
- newSentArray->sentences = calloc(1, sizeof(struct SentenceArray));
- for (int j = startOfSen; j < strlen(str); j++)
- {
- if (str[j] == '.' || str[j] == '\0' || str[j] == '!' || str[j] == '?')
- {
- puts("LOG1");
- bstring[bindex] = '\0';
- bindex = 0;
- puts("LOG2");
- newSentArray->sentences[i].indexOfStart = startOfSen;
- puts("LOG3");
- startOfSen = j + 1;
- printf("%i\n", startOfSen);
- puts("LOG4");
- puts(bstring);
- strcpy(newSentArray->sentences[i].string, bstring);
- break;
- }
- else
- {
- puts("LOG5");
- bstring[bindex] = str[j];
- printf("LOG6\t%s\n", bstring);
- bindex++;
- }
- }
- }
- newSentArray->numOfSentences = numOfSen;
- free(newSentArray->sentences);
- free(newSentArray);
- return newSentArray;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement