Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => C/C++ => Konuyu başlatan: ArifAhmet - 29 Kasım 2014, 18:07:07

Başlık: strstr fonksiyonu hakkında
Gönderen: ArifAhmet - 29 Kasım 2014, 18:07:07
Merhabalar,
strstr fonksiyonu dizide bir kelime arayıp, eğer varsa adresi yoksa NULL değer döndürüyor. Fakat önce diziye l+255lr+255r değerini atıyorum ardından bu fonksiyonu kullanıyorum ve sonuç yok.
Kodlar burada;

if(strstr(buff,"l+255lr+255r")!= NULL)ileri();

Kodlar arduino uno üzerinde çalıştırılıyor. sadece tek harfi aratınca ileri fonksiyonuna düşüyor fakat yukarıda verdiğim metini yazınca olmuyor.
Umarım derdimi anlatabilmişimdir.
İyi çalışmalar.
Başlık: Ynt: strstr fonksiyonu hakkında
Gönderen: mir_as82 - 29 Kasım 2014, 18:50:42
Hocam tek harfi aratinca o harf buff isimli dizinde varsa,  ileri içine girmesi normal.

mesaj birleştirme:: 29 Kasım 2014, 19:21:06

Hocam buff içine ilk değeri "l+255lr+255r" olarak verir misin.
chat buff[] = "l+255lr+255r"; yazar misin.
Başlık: Ynt: strstr fonksiyonu hakkında
Gönderen: MrDarK - 29 Kasım 2014, 20:36:49
strstr fonksiyonu array içinde null gördüğü an çıkar. Debug yaparakta görebilirsin, büyük ihtimalle sen daha aradığın kelimeye gelmeden null chara denk geliyorsun. Biraz daha detay vermeni öneririm ve ne üzerinde çalışıyorsan debug yap derim =)
Başlık: Ynt: strstr fonksiyonu hakkında
Gönderen: mir_as82 - 30 Kasım 2014, 18:01:31
Hocam denedim çalışıyor.
Hem harf aramada çalışıyor hem istediğin şeyi buluyor.
int main()
{
   char myBuffer[] = "l+255lr+255r----12345";
   if(strstr(myBuffer,"l+255lr+255r")!= NULL)
      printf("istedigim yere girdi\n");
   else
      printf("istedigim yere girmedi\n");
   return 0;
}
Başlık: Ynt: strstr fonksiyonu hakkında
Gönderen: ArifAhmet - 02 Aralık 2014, 00:23:14
Hocam sorunu buldum. buff dizisine strcpy ile değer atıyormuşum. Onu değiştirip strcat yaptım, düzeldi.