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

Ahmet

S38>S85
Katılım
31 Mayıs 2021
Mesajlar
6,161
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 :/
 
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: 187
  • strıng.png
    strıng.png
    5.4 KB · Görüntüleme: 204
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
8,420
Mesajlar
138,184
Üyeler
3,331
Son üye
Rinvalenor

Son kaynaklar

Son profil mesajları

mechanic ayhanarican mechanic wrote on ayhanarican's profile.
https://www.allmystery.de almanca biliyorsan burada araştır. Yapay zekada çeviriyor gerçi.
Almanların matematik bilgisi daha iyi oluyor.
“Kendi yolunu çizen kişi, kimsenin izinden gitmez.” – Nietzsche
Kim İslâm’da güzel bir çığır açarsa (güzel bir alışkanlık başlatırsa), onun sevabı ve kendisinden sonra ona uyanların sevapları, onların sevaplarından hiçbir şey eksilmeksizin ona da yazılır.
erdemtr55 taydin erdemtr55 wrote on taydin's profile.
Merhaba Taydin bey,
Gruba spms serisi yapıcak mısınız?
ben 3 sargılı toroid ile 2 adet flyback sürücek bir devre yapmayı düşünüyorum.size soracak sorularım vardı?
Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Back
Top