Witam.
Piszę program w WinApi, który prosi o wpisanie do pola tekstowego imion (każde imię w osobnej linijce), po czym po kliknięciu przycisku określi płeć osoby posiadającej każde z tych imion.
Tekst z pola tekstowego pobrałem do "LPSTR Bufor", a tekst z Bufora do tablicy znaków "char tekst[1024]". Mój sposób na określenie płci jest taki, że wczytuję tekst aż do napotkania znaku ' \n ', a następnie sprawdzam znak przed. Jeżeli znak przed końcem linii jest równy 'a', to mamy do czynienia z kobietą, a jeżeli inny znak to z mężczyzną.
Mój problem polega na tym, że po ostatnim imieniu nie występuje znak ' \n ', gdyż tekst się wtedy kończy. I tu właśnie potrzebuję waszej pomocy. Jak wstawić znak ' \n ' po ostatnim imieniu, abym mógł dzięki niemu określić płeć ostatniej osoby?
Próbowałem coś robić, ale bezskutecznie
Zamieszczam fragmenty mojego kodu z opisami co i jak:
//1. wczytanie do chara
dlugosc = GetWindowTextLength( hWklej_tu );
Bufor =( LPSTR ) GlobalAlloc( GPTR, dlugosc + 1 );
GetWindowText( hWklej_tu, Bufor, dlugosc + 1 );
strcpy( skopiowany, Bufor );
skopiowany[dlugosc]='\n';
skopiowany[dlugosc+1]='\0';
//2. szukanie w tablicy liczby 13 [ENTERA] (/n)
for(int n=0; n<dlugosc; n++)
{
if( skopiowany[n] == '\n' )
ilosc_osob++;
}
hWklej_tu - uchwyt do pola edycji
LPSTR Bufor
DWORD dlugosc
char skopiowany[1024] - tutaj znajduje się cały tekst z pola edycji
int nr_odcz_kom = 0;
for(int n2=0; n2<50; n2++)
{
if( skopiowany[nr_odcz_kom] != '\n' )
{
osoba[nowe_id_osoby].nazwa[n2] = skopiowany[nr_odcz_kom];
nr_odcz_kom++;
if(n == ilosc_osob){ help = n2;}
}
else
{
nr_odcz_kom++;
goto NEXT2;
}
}
tutaj pętla wczytuje znak po znaku (oraz zapisuje go do struktury)
aż do napotkania znaku nowego wiersza.
if(osoba[nowe_id_osoby].nazwa[n2]==char(13))
{
if(osoba[nowe_id_osoby].nazwa[n2-1]=='a')
{
osoba[nowe_id_osoby].plec = 0; // kobieta
}
if(osoba[nowe_id_osoby].nazwa[n2-1]!='a')
{
osoba[nowe_id_osoby].plec = 1; // mezczyzna
}
}
tutaj następuje określenie płci
Jeżeli nie chce wam się ogarniać tego, to powiedzie chociaż jak wygląda tablica z uwzględnieniem znaków szczególnych... To jest coś takiego?
Po wpisaniu takiego tekstu:
"wyraz1
wyraz2"
otrzymam po zapisaniu do tablicy to?:
{'w','y','r','a','z','1','\n','w','y','r','a','z','2','\0'}
Jak coś niejasne i potrzeba więcej wyjaśnień to pisać, bardzo mi zależy nad rozwiązaniem. :)