Selam,
typedef struct abc
{
char *text;
} abc;
şeklinde tanımlanmış bir struct var,
abc x[5];
ile değişkeni tanımlıyorum,
for (i=0;i<10,i++){
sprintf(x[i].text,"%d %d",i,i+1);
}
for döngüsü ile değişkene iki ayrı text i birleştirip atmam gerekiyor,
struct yapısını değiştiremiyorum, dolayısıyla x.text pointer olmak zorunda,
kodu çalıştırdığımda bütün x.text değerleri en son değeri gösteriyor, yani "9 10" oluyor,
sıralı bir şekilde göstermesini sağlayacak bir yol var mı? yani;
x[0].text = 0 1
x[1].text = 1 2
x[2].text = 2 3
.
.
.
.
x[9].text = 9 10
#define DIZIN_UZUNLUK 10
#define TEXT_UZUNLUK 8
char Buffer[DIZIN_UZUNLUK *TEXT_UZUNLUK ];
abc x[DIZIN_UZUNLUK ];
// Alloc
for (i=0;i<DIZIN_UZUNLUK ;i++){
x[i].text = &Buffer[i*TEXT_UZUNLUK ];
}
// Print
for (i=0;i<DIZIN_UZUNLUK ;i++){
sprintf(x[i].text,"%d %d",i,i+1);
}