STRING ICINDE VERI ARAMA

Ahmet

S38>S85
Katılım
31 Mayıs 2021
Mesajlar
6,081
String tipinde bir veri içinde karakter aramam gerekiyor fakat ben en uzun zaman alacak yol ile yapmaya çalışıyorum bunun daha pratik bir yolu var mı?

benim yöntemim;


C++:
boolean _rec1 = 0;
String rec = "0";

int main(void){
 
  while(1){
     
      for(int8_t len = 0; len<14; len++){
       if(rec.substr(len-1 , len) == 'a'){
          _rec1 = 1;
      }
    }  
  }
}
 
Merhabalar,
strcmp fonksiyonu nu kullanabilirsiniz.

uint8_t cmd[20];

if(strcmp(cmd,"ABC")==0){
...
..
}
 
Şimdi bir kere String class kullandığın için herşey zaten C string kullanmaya göre kat kat daha yavaş olacak.String kullanan birisinin derdi hız/performans değildir. String içindeki bir karakteri bulmak için indexOf metodunu kullanabilirsin.

1680598354707.png
 
Şimdi bir kere String class kullandığın için herşey zaten C string kullanmaya göre kat kat daha yavaş olacak.String kullanan birisinin derdi hız/performans değildir. String içindeki bir karakteri bulmak için indexOf metodunu kullanabilirsin.

23197 eklentisine bak
bir anakart var birde güç kartı var anakart seri numarasını güç kartına söylüyor bir data paketi içinde.

Eğer güç kartı ile anakart seri numaraları tutmuyorsa çalışmayacak vs. vs. bunlar ticari uyuzluklar tamirin önüne geçme.

string kullanmak zorunda değilim char ile de mümkün fakat zaten software'a string belli sebeplerden dolayı dahil edildiği için string ile yaptım bende.

araştıracağım bu komutu.
 
Merhaba,
1-String teki karakter sayısı nedir? 2-String içindeki karakterler tanımlı mı?
 
14+4+1+4 olarak ayırıyoruz.
O zaman 256 olasılık içinde tek tek karşılaştırıp eşit olduğu zaman göstersin.
Kodunun da prensip şablonunu paylaşayım.
BASLA
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
KONTROL_D00
MOVLW B'00000000';----------00
XORWF PORTD,W
BTFSS STATUS,2
GOTO KONTROL_B01
CALL AZBEKLE
MESAJ_D00
MOVLW H'FF';-----------------DEC255
CALL GONDER
CALL AZBEKLE

Bu kod------- PORTD'ye hex'00' geldiği zaman PIC PC'ye DEC 255 yollar.
Böylece ilk 14 lü bloğu tek tek 256 olasılığı kontrol ederek her eşit durumda PC'ye DATA yollar. Biz de PC'den bu gelen 14 bloğun hangi karakteri içerdiğini görebiliriz.
 
14+4+1+4 olarak ayırıyoruz.
O zaman 256 olasılık içinde tek tek karşılaştırıp eşit olduğu zaman göstersin.
Kodunun da prensip şablonunu paylaşayım.
BASLA
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
KONTROL_D00
MOVLW B'00000000';----------00
XORWF PORTD,W
BTFSS STATUS,2
GOTO KONTROL_B01
CALL AZBEKLE
MESAJ_D00
MOVLW H'FF';-----------------DEC255
CALL GONDER
CALL AZBEKLE

Bu kod------- PORTD'ye hex'00' geldiği zaman PIC PC'ye DEC 255 yollar.
Böylece ilk 14 lü bloğu tek tek 256 olasılığı kontrol ederek her eşit durumda PC'ye DATA yollar. Biz de PC'den bu gelen 14 bloğun hangi karakteri içerdiğini görebiliriz.
pic basic seviyorum ama bana uzak biraz.
yine de teşekkkür edeirm :))
 

Çevrimiçi üyeler

Çevrimiçi üye yok.

Forum istatistikleri

Konular
6,951
Mesajlar
118,748
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top