Skocz do zawartości

stringi


Oddity

Recommended Posts

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.

Link do komentarza
Udostępnij na innych stronach

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...