String nasıl bölünür?

Ahmet

S38>S85
Katılım
31 Mayıs 2021
Mesajlar
6,052
C++:
String a = "MEKATRONIK FORUM STRING BOLME"
Bu şekilde bir string değişkenini 16. dijitten bölmek istiyorum.
Ama string değişkenini istediğim yerinden nası bölücem onu bulamıyorum?

length() ile bunun uzunluğunu boşluklar dahil ölçebiliyorum fakat nasıl bölücem onu bulamadım.
 
C/C++ da standart olarak String diye bir type yok. std::string var. C++ için bir örnek şöyle olur:

C++:
#include <iostream>
#include <string>

std::string a = "dal kalkar kartal sarkar";

int main()
{
   std::string b = a.substr(0, 10);
   std::string c = a.substr(11);

   std::cout << "a = " << a << std::endl;
   std::cout << "b = " << b << std::endl;
   std::cout << "c = " << c << std::endl;
   
   return 0;
}

Bunu derleyip çalıştırırsak:

Bash:
[ta@bonsai ~]$ g++ -Wall a.cpp
[ta@bonsai ~]$ ./a.out
a = dal kalkar kartal sarkar
b = dal kalkar
c = kartal sarkar
[ta@bonsai ~]$
 
Substr fonksiyonu phpde de var. Ama bu kadar karmaşık değil. 1-2 satırda halloluyor iş.
@Ahmet anlamışsındır herhalde olayı?
Ben anladım.
 
Arduino üstünde çalışıyordum..
Şöyle birşey yaptım ve gayet güzel çalıştı.
string:
String a = "MEKATRONIK FORUM STRING BOLME";

  lcd.setCursor(0,0);
  lcd.print(a.substring(0,16));
  lcd.setCursor(0,1);
  lcd.print(a.substring(17,a.length()));

Önce substring ile 0-16 arasını alıp yazıyorum
sonra satır değişip
17 ile değişken uzunluğu kadar yazıyorum.
Forumun adı çok güzel tam 2x16 üst satıra sığabiliyor.
 
Bu da C versiyonu:

C:
#include <stdio.h>
#include <string.h>

static const char* a = "dal sarkar kartal kalkar";

int main(void)
{
   char b[100];
   memcpy(b, a, 10);
   b[10] = '\0';

   char c[100];
   strcpy(c, a + 11);

   printf("a = (%s)\n", a);
   printf("b = (%s)\n", b);
   printf("c = (%s)\n", c);

   return 0;
}

Bunu derleyip çalıştırırsak:

Bash:
[ta@bonsai ~]$ gcc -Wall a.c
[ta@bonsai ~]$ ./a.out
a = (dal sarkar kartal kalkar)
b = (dal sarkar)
c = (kartal kalkar)
[ta@bonsai ~]$
 
Arduino üstünde çalışıyordum..
Şöyle birşey yaptım ve gayet güzel çalıştı.
string:
String a = "MEKATRONIK FORUM STRING BOLME";

  lcd.setCursor(0,0);
  lcd.print(a.substring(0,16));
  lcd.setCursor(0,1);
  lcd.print(a.substring(17,a.length()));

Önce substring ile 0-16 arasını alıp yazıyorum
sonra satır değişip
17 ile değişken uzunluğu kadar yazıyorum.
Forumun adı çok güzel tam 2x16 üst satıra sığabiliyor.

Öncelikle standart C/C++ a göre öğren ve kod yazmaya çalış. Yoksa farklı bir işlemciye geçip de ortalıkta String bulamazsan sudan çıkmış balığa dönersin :)
 
Bu da C versiyonu:

C:
#include <stdio.h>
#include <string.h>

static const char* a = "dal sarkar kartal kalkar";

int main(void)
{
   char b[100];
   memcpy(b, a, 10);
   b[10] = '\0';

   char c[100];
   strcpy(c, a + 11);

   printf("a = (%s)\n", a);
   printf("b = (%s)\n", b);
   printf("c = (%s)\n", c);

   return 0;
}

Bunu derleyip çalıştırırsak:

Bash:
[ta@bonsai ~]$ gcc -Wall a.c
[ta@bonsai ~]$ ./a.out
a = (dal sarkar kartal kalkar)
b = (dal sarkar)
c = (kartal kalkar)
[ta@bonsai ~]$
Ben c++ daha zor sanıyordum :)
 
Öncelikle standart C/C++ a göre öğren ve kod yazmaya çalış. Yoksa farklı bir işlemciye geçip de ortalıkta String bulamazsan sudan çıkmış balığa dönersin :)
Bir paylaşım yapacağım da abi onun için istedim aslında.

Saf ++'da string olmadığını senden öğrendim :/
 
Bir paylaşım yapacağım da abi onun için istedim aslında.

Saf ++'da string olmadığını senden öğrendim :/

Paylaşımı iyi ki yaptın. Arduino metodunu da senden öğrendik :)
 
Başardık!!
Tek satır girdiğimiz yazıyı 16dijitten büyükse 2. satıra atmayı başardık.
Konusunu akşam açayım
 

Ekler

  • WhatsApp Image 2022-04-21 at 17.23.51.jpeg
    WhatsApp Image 2022-04-21 at 17.23.51.jpeg
    17.2 KB · Görüntüleme: 94
  • strıng.png
    strıng.png
    5.4 KB · Görüntüleme: 95
Nasıl böldün?

16. Karakterden sonrasını alt satıra yazmak veya,

Kelimeleri tespit edip kelime sığmıyorsa kelimeyi parçalamadan alt satıra yazmak. ?
 
Nasıl böldün?

16. Karakterden sonrasını alt satıra yazmak veya,

Kelimeleri tespit edip kelime sığmıyorsa kelimeyi parçalamadan alt satıra yazmak. ?
 
Nasıl böldün?

16. Karakterden sonrasını alt satıra yazmak veya,

Kelimeleri tespit edip kelime sığmıyorsa kelimeyi parçalamadan alt satıra yazmak. ?
2x16 lcd kullandığı için her halukarda 16 dan sonrasını bölüyor.
 

Forum istatistikleri

Konular
5,897
Mesajlar
100,669
Üyeler
2,496
Son üye
can12

Son kaynaklar

Son profil mesajları

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?
gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top