I want the program to store only 1 sentence per line. Since each sentence is possible to be terminated according to the signs I show in my code example. It does this but when you print on the screen it does not print those same characters which indicate that you should change lines.
int main() {
//char str[] = "Ola. Tudo bem?\n Sim e contigo?\n Comigo esta tudo bem! Que tens feito?\n Trabalho no projeto!\n";
char str[] = "Utilizador 1 --> Bom dia! Tudo bem contigo?\nUtilizador 2 --> Comigo tudo excelente. Que tens feito?\nUtilizador 1 --> De momento estou a trabalhar num projeto e tu?\nUtilizador 2 --> Eu tenho estudado uma nova linguagem, Java. Bastante interessante. Devias experimentar.\nUtilizador 2 --> Talvez experimente quando tiver algum tempo livre!\n";
char **matriz = malloc(sizeof(char *) * 255);
int caractere,coluna,i;
int linha = 0;
matriz[linha] = malloc(255);
for (caractere = 0, coluna = 0; str[caractere] != 'int main() {
//char str[] = "Ola. Tudo bem?\n Sim e contigo?\n Comigo esta tudo bem! Que tens feito?\n Trabalho no projeto!\n";
char str[] = "Utilizador 1 --> Bom dia! Tudo bem contigo?\nUtilizador 2 --> Comigo tudo excelente. Que tens feito?\nUtilizador 1 --> De momento estou a trabalhar num projeto e tu?\nUtilizador 2 --> Eu tenho estudado uma nova linguagem, Java. Bastante interessante. Devias experimentar.\nUtilizador 2 --> Talvez experimente quando tiver algum tempo livre!\n";
char **matriz = malloc(sizeof(char *) * 255);
int caractere,coluna,i;
int linha = 0;
matriz[linha] = malloc(255);
for (caractere = 0, coluna = 0; str[caractere] != '%pre%'; caractere++, coluna++) {
if (str[caractere] == '?' || str[caractere] == '...' || str[caractere] == '!' || str[caractere] == '.') {
matriz[linha][coluna] = '%pre%';
matriz[linha] = realloc(matriz[linha], coluna + 1);
matriz[++linha] = malloc(255);
coluna = -1;
} else {
matriz[linha][coluna] = str[caractere];
}
}
matriz = realloc(matriz, sizeof(char *) * linha);
for (i = 0; i < linha; i++) {
printf("%s\n", matriz[i]);
}
'; caractere++, coluna++) {
if (str[caractere] == '?' || str[caractere] == '...' || str[caractere] == '!' || str[caractere] == '.') {
matriz[linha][coluna] = '%pre%';
matriz[linha] = realloc(matriz[linha], coluna + 1);
matriz[++linha] = malloc(255);
coluna = -1;
} else {
matriz[linha][coluna] = str[caractere];
}
}
matriz = realloc(matriz, sizeof(char *) * linha);
for (i = 0; i < linha; i++) {
printf("%s\n", matriz[i]);
}
}