Dlaczego to nie działa?

UWAGA! Ten wpis ma już 13 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Czy ktoś może mi powiedzieć, dlaczego w poniższym kodzie podświetlony warunek nie wykonuje się? Chodzi mi o przypadek, gdy str2 nie zostanie znalezione w str1. Mimo tego, że według dokumentacji funkcja strstr() powinna zwracać NULL.

#include 
#include 

using namespace std;

int main()
{
char str1[80], str2[80];
char *ptr;

cout << "Wpisz tekst do przeszukania:";
cin >> str1;

cout << "Co mam wyszukac?";
cin >> str2;

ptr = strstr(str1, str2);
cout << "Znalazlem: " << '\'' << str1 << '\'' << " w ";
cout << '\'' << str2 << '\'' << '\n';
cout << ptr;
if(ptr==NULL) cout << "Nic z tego!"; // highlight
return 0;
}


Dandys IM v0.1 :)

UWAGA! Ten wpis ma już 13 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Ostatnimi czasy z nudów wziąłem się wreszcie za naukę socketów w C++. Miałem to już zrobić na początku maja, mam nawet wydrukowane samouczki, jednak myślę, że to właśnie one mnie do tego zniechęcały. A to nie był← pisane pod kątem C++, a to były zbyt obszerne i za dużo w nich było teorii. Dopiero kolejne poszukiwania (bodajże przedwczorajsze) naprowadziły mnie na właściwy trop. I tak oto, aby poznać sockety w praktyce, postanowiłem napisać sobie pseudokomunikator – Dandys IM. 😉

Póki co ma on tylko funkcję serwera (klienta mi się dopisać nie chciało, dlatego robi z niego teraz Telnet) i parę błędów (m.in. taki, że wiadomości pojawiają się czasem dopiero po wysłaniu wiadomości przez nas), ale mi to wystarczyło, żeby się przekonać, jak to fajnie, gdy mój pierwszy program z socketami potrafi porozumiewać się ze światem. 🙂

Niżej zamieszczam źródełko programu, jak komuś się chce, to wiadomo, co robić (nie wiadomo? no to: g++ socket_server.cpp -o socket_server). Jakby komuś się aż tak nudziło i poprawił buga, o którym pisałem, to proszę o kontakt.

I na koniec podziękowania dla testerów, których to często nękałem ostatnio:

Dzięki chłopaki za czas!

I oczywiście dokumenty, z których korzystałem przy nauce. Polecam ściągnięcie obydwu, wydrukowanie i parę godzin analizy.

 

Ruszyła XIV Olimpiada Informatyczna!

UWAGA! Ten wpis ma już 14 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Wczoraj ruszyła XIV Olimpiada Informatyczna. Jak zwykle do rozwiązania mamy pięć zadań.

Póki co, dopiero je wydrukowałem, jednak w wolnym czasie postaram się przejrzeć i zacząć “dłubać”. 🙂 Jeśli coś wymyślę, podzielę się spostrzeżeniami (oczywiście mieszcząc się w ramach regulaminu).

Czy ktoś z Was bierze również w niej udział? Jeśli tak, to w jakim jesteście wieku (która klasa) i który raz próbujecie? Macie na swoim koncie jakieś sukcesy? 🙂

Zapraszam do dyskusji w komentarzach.