Advertisement
Guest User

d

a guest
May 24th, 2015
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. int trie_load(trie *node, FILE *stream)
  2. {
  3. wchar_t *key = (wchar_t*)malloc((MAX_WORD_LENGTH + 1) * sizeof(wchar_t));
  4. wchar_t k = fgetwc(stream);;
  5. int i = 0;
  6. while (k != L'\\'){ /// Wczytujemy wszystkie dzieci.
  7. while (k != L'#' && k != L'|'){
  8. if (!iswalpha(k)){
  9. free(key);
  10. return -1;
  11. }
  12. if (i >= MAX_WORD_LENGTH){
  13. free(key);
  14. return -1;
  15. }
  16. key[i++] = k;
  17. k = fgetwc(stream);
  18. }
  19. if (i > 0){
  20. key[i] = L'\0';
  21. i = 0;
  22. if (k == L'#'){ /// Prawidłowe zakońćzenie słowa.
  23. trie_new_son_sorted_word(node, key);
  24. if (-1 == trie_load(node->sons[node->num_sons - 1], stream)){
  25. free(key);
  26. return -1;
  27. }
  28. } else if (k == L'|'){
  29. trie_new_son_sorted(node, key);
  30. if (-1 == trie_load(node->sons[node->num_sons - 1], stream)){
  31. free(key);
  32. return -1;
  33. }
  34. } else { /// Słowo się nie kończy gdy powinno..
  35. free(key);
  36. return -1;
  37. }
  38. }
  39. k = fgetwc(stream);
  40. }
  41. free(key);
  42. return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement