string ifadenin karşılaştırılması nasıl yapılır?

Başlatan Ryher, 28 Mart 2010, 21:59:56

Ryher

Arkadaşlar yapmak istediğim karakter sayısı belirli olan bir dizi string ifadeyi belirli bölümlere ayırmak ve ayrılan bölümlerde karşılaştırma yapmak.

Mesela "ISI,NEM,SAAT,TARIH." şeklinde bir dizi string ifade. Tırnak işaretleri yok karakter sayısını biliyoruz. virgüller komutların ayrıldığını gösteren belirteçler ve nokta işareti bitişi gösteriyor aslında buna gerekte yok sanırım.

burada yapmak istediğim komutları tek tek parçalayıp yani ISI  -  NEM  gibi komutları alıp bunları karşılaştırıp gerekli ölçümleri yaptıktan sonra değerleri gönderecek. komutları ayırıp karşılaştırmaları yaptıktan sonra dallanmalar yaparak gerisi halledilir. fakat 16F877 gibi MCU ile string ifadeleri nasıl karşılaştırırız.

umarım problemimi anlatabilmişimdir.

Tagli

Söz konusu komutlar nereden gönderilecek? Yani bu iş yazılar ile değil de sayılar ile yapılsa daha kolay olmaz mı? Eğer söz konusu sistem bilgisayara bağlanacaksa, yazı karşılaştırması bilgisayarda yapılıp PIC'e ilgili komut bir sayı olarak gönderilebilir.
Gökçe Tağlıoğlu

Ryher

evet sayılarla daha kolay olur fakat bu komutlar sms ile kullanıcının isteğine göre gönderilecek. sabit değil yani. bunlar bir örnek.  içerisinde bir çok komut olabileceği için ve akılda kalması için böyle birşey olması gerekli diye düşünüyorum.

Ryher

    cevaplarınız için teşekkür ederim. genel mantık bu fakat karakterler herzaman dizinin aynı elemanında olmayabilir. gelen mesaj zaten bir dizi içinde değerlendiriliyor
    yani dizi[0] "F" harfi olabilir başka mesajda "I" olabilir ve gönderilen komutsayısı değişkenlik gösterebilir.

Sanırım en iyi yol 18 serisi bir MCU ya geçmek.

orhanc

C dilinde şöyle birşey var

Alıntı Yapint strcmp ( const char * str1, const char * str2 );

Belki benzeri basic için de vardır

Eğer illa ki dizi ile karşılaştırma yapılması gerekiyorsa dinamik dizi kullanıp gelen değer adetine göre diziyi boyutlandırabilirsin

Şuraya bir göz atabilirsin

http://www.cs.cf.ac.uk/Dave/C/node11.html
i'm doing nothing... Giddy Up  http://www.drorhan.com