Advertisement
Guest User

Untitled

a guest
Nov 25th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "Instant_Messaging.h"
  4. #define MAX 100
  5. #include <string.h>
  6.  
  7.  
  8. int main_InstanteMessaging(int argc, const char* argv[])
  9. {
  10. char *text = load_from_file();
  11.  
  12. int size=0;
  13. char **text_mat = load_to_matriz(text, &size);
  14. int i;
  15. /*for(i=0; i<size; i++)
  16. {
  17. printf("%s\n", *(text_mat+i));
  18. }*/
  19.  
  20. int num_frases=0;
  21. char **save = save_words(text_mat, size, &num_frases);
  22. /*for(i=0; i<num_frases; i++)
  23. {
  24. printf("%s\n", save[i]);
  25. }*/
  26.  
  27. return 0;
  28. }
  29.  
  30.  
  31. /**-----------------------funçoes------------------*/
  32.  
  33.  
  34. char *load_from_file()
  35. {
  36. char *text_string = 0;
  37. int length;
  38. FILE * fp = fopen ("ficheiro.txt", "r");
  39.  
  40. if (fp==NULL)
  41. {
  42. printf("Erro na abertura do ficheiro");
  43. return NULL;
  44. }
  45.  
  46. fseek (fp, 0, SEEK_END);
  47. length = ftell (fp);
  48. fseek (fp, 0, SEEK_SET);
  49. text_string = calloc(length+1, sizeof(char));
  50. fread (text_string, length, 1, fp);
  51. //text_string[length+1] = '\0';/*perguntar se é preciso*/
  52.  
  53. fclose (fp);
  54. return text_string;
  55. }
  56.  
  57. char **load_to_matriz(char *text, int *size)/** mudar nome do armazena e num_paragrafoss para num_paragrafos*/
  58. {
  59. int num_paragrafos = 0;
  60. char **armazena = (char**) malloc(sizeof(char*)*(10));
  61. char *token = strtok(text,"\n");
  62. while( token != NULL )
  63. {
  64. int tam = strlen(token);
  65. armazena[num_paragrafos] = (char*) malloc(tam+2);
  66. strcpy(armazena[num_paragrafos],token);
  67. armazena[num_paragrafos][tam+1]='\0';
  68. num_paragrafos++;
  69. token = strtok(NULL, "\n");
  70.  
  71. if (num_paragrafos%10==0)
  72. {
  73. armazena = realloc(armazena, sizeof(char*)*(num_paragrafos + 10));
  74. }
  75. }
  76.  
  77. *size=num_paragrafos;
  78. return armazena;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement