Sprintf ile string'i 2 karaktere bölme

Bowman

Aktif Ü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 ~]$
 

Forum istatistikleri

Konular
8,409
Mesajlar
138,071
Üyeler
3,324
Son üye
furkanswa

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