Sprintf ile string'i 2 karaktere bölme

Bowman

Aktif Üye
Katılım
7 Ekim 2022
Mesajlar
102
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.

C++:
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.

C++:
 0 1 2 3 4 5 6 7 8 9
 
Format string %02X yapman lazım.
 
Her bir karakterin hex karşılığını mı yazdırmak istiyorsun yoksa string'i ikişer ikişer mi yazdırmak istiyorsun?
 
String zaten sakli oldugu alanda tam da istedigin gibi duruyor.
 
Tek tek kopyalarsin karakterleri, her iki karakterde de araya virgül koyarsın

C++:
#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:

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

Çevrimiçi personel

Forum istatistikleri

Konular
5,983
Mesajlar
102,049
Üyeler
2,515
Son üye
karakemal

Son kaynaklar

Son profil mesajları

deneyci wrote on hakan8470's profile.
Sibonge uNkulunkulu ngokuhlukahluka asinike kona.

Bu hangi dil? :)
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
Back
Top