Skocz do zawartości

Recommended Posts

Napisano

Ojjj, źle myślisz, Pinolec :-P

Xantos ma pole listy i chce znaleźć w nim wyraz wczytany z pliku. Słowa w słowniku są zgrupowane jedno pod drugim, więc każde z nich zakończone jest znakiem końca linii '\n' i dlatego, nawet jeśli tego nie widać, jedna pozycja listy przedstawia się następująco:

słowo numer jeden\n\0

Natomiast gdy użytkownik wpisze "słowo numer jeden" w kontrolce edit, tekst w pamięci ma postać "słowo numer jeden\0". Dlatego siłą rzeczy nie można go znaleźć, chyba że jest ostatnią pozycją listy, gdyż ta w pliku zakończona jest '\0' a nie '\n'.

Na tym polega problem, jeśli dobrze mniemam. Jego rozwiązanie jest bardzo proste. Ja widzę dwa sposoby:

Nr. 1 - Usuwasz znak końca linii ze słowa (jeśli dane słowo nie jest ostatnie), pisząc:

szWord [lstrlen (szWord) - 1] = '\0' ;

Nr. 2 - Do ostatniego słowa z pliku dopisujesz \n na końcu, tak samo jak do tekstu z kontrolki edit.

lstrcat (szText, TEXT ("\n")) ;

Życzę powodzenia i pozdrawiam.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...