Sprintf ile string'i 2 karaktere bölme

Bowman

Üye
Katılım
7 Ekim 2022
Mesajlar
132
Elimde string str = "68656E7279" şeklinde bir string ifade var. Ben bunu sprintf kullanarak bir bufferın içine [68,65,6E,72,79] şeklinde ikili ifadelere ayırarak yazmak istiyorum.

Kod:
string str = "68656E7279";

uint8_t buff[10];

int len = str.length();
    
for(int i = 0; i < len; i++)
{
    sprintf(&buff[i],"%02C",str[i]);
}

Şöyle bir kod denedim. Fakat çıktıda istediğimi elde edemiyorum. Nasıl yapabilirim ? Aldığım çıktı şu şekilde. Çıktıda ASCII tablosunda sıfırdan başlayarak 10 karakter elde ediyorum.

Kod:
 0 1 2 3 4 5 6 7 8 9
 
Her bir karakterin hex karşılığını mı yazdırmak istiyorsun yoksa string'i ikişer ikişer mi yazdırmak istiyorsun?
 
Tek tek kopyalarsin karakterleri, her iki karakterde de araya virgül koyarsın

Kod:
#include <string>

static std::string str = "68656E7279";

static char buff[100];

int main()
{
    unsigned int j = 0;

    buff[j++] = '[';

    for (unsigned int i = 0; i < str.length(); ++i)
    {
        if ((i > 0) && ((i % 2) == 0))
        {
            buff[j++] = ',';
        }

        buff[j++] = str[i];
    }

    buff[j++] = ']';
    buff[j++] = '\0';

    printf("buff = %s\n", buff);
}

Bunu çalıştırınca şöyle birşey çıkıyor:

Kod:
[ta@bonsai ~]$ g++ -Wall a.cpp
[ta@bonsai ~]$ ./a.out
buff = [68,65,6E,72,79]
[ta@bonsai ~]$
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
8,577
Mesajlar
140,328
Üyeler
3,404
Son üye
tolgakosekadam

Son kaynaklar

Son profil mesajları

Abdullah karaoglan falcon_browning Abdullah karaoglan wrote on falcon_browning's profile.
selamın aleyküm ses sistemindeki cızırtıyı hallettınızmi
"Araştırma, ne yaptığını bilmediğinde yaptığın şeydir." - Wernher von Braun
“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ı?
Back
Top