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

Ahmet

S38>S85
Katılım
31 Mayıs 2021
Mesajlar
6,047
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: 89
  • strıng.png
    strıng.png
    5.4 KB · Görüntüleme: 91
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,659
Mesajlar
97,350
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
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)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top