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

Ahmet

S38>S85
Katılım
31 Mayıs 2021
Mesajlar
6,096
Kod:
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:

Kod:
#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:

Kod:
[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ı.
Kod:
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:

Kod:
#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:

Kod:
[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ı.
Kod:
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:

Kod:
#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:

Kod:
[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: 139
  • strıng.png
    strıng.png
    5.4 KB · Görüntüleme: 149
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
7,361
Mesajlar
124,439
Üyeler
2,985
Son üye
sertoglu42

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top