Anonymní profil Libor – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Libor – Programujte.comAnonymní profil Libor – Programujte.com

 

Příspěvky odeslané z IP adresy 94.113.242.–

nevs
C / C++ › telldir a seekdir pro Windows
3. 6. 2016   #211119

Ahoj, 

chci se zeptat, zda existuje nějaká alternativní funkce pro seekdir a telldir ve Windows? Nějak nemůžu na nic přijít.

Problém je následující. Ve složce mám 3 další složky v každé této složce je několik .txt souborů. Do dané složky vždy vlezu vyčtu .txt soubory a přejdu do další složky. Pomocí seekdir a telldir si ukládám pozici, ale ve Windows nevím... :-) 

Romča
C / C++ › Pointer na strukturu
21. 11. 2014   #196287

#4 KIIV
#3 Romča

Na to sem teď taky přišla :-D.

~~struktura *foo(struktura *str)
  {
      uint8_t i;
      FILE * pFile;


      pFile = fopen ("a.txt" , "r");
      if (pFile == NULL) perror ("Error opening file");
      else
      {
          fgets (struktura , 52 , pFile);
          fclose (pFile);
      }


      return str;
  }

Romča
C / C++ › Pointer na strukturu
21. 11. 2014   #196285

Jsem to vyřešila takhle, blbý sice je, že se musí dávat jako parametr i pole, ale jinak nevím :

struktura *foo(struktura *str,  uint8_t *mystring )
 {
     uint8_t i;
     FILE * pFile;


     pFile = fopen ("a.txt" , "r");
     if (pFile == NULL) perror ("Error opening file");
     else
     {
         fgets (mystring , 52 , pFile);
         fclose (pFile);
     }


     struktura = (struktura *)(mystring);


     return str;
 }

Romča
C / C++ › Pointer na strukturu
21. 11. 2014   #196283

Ahoj,

mám následující problém: Mám strukturu, kterou naplním ve funkci foo(), zde jsou hodnoty správné, když se pak vrátím do mainu, tak hodnoty ze struktury zmizí. Nevíte jak na to? Už nějak nevím...

typedef struct {
 uint8_t  a;
uint8_t  b;
uint8_t  c;
uint8_t  d;
} struktura;

struktura *foo(struktura *str)
{
    uint8_t i;
    FILE * pFile;
    uint8_t mystring [52];


    pFile = fopen ("a.txt" , "r");
    if (pFile == NULL) perror ("Error opening file");
    else
    {
        fgets (mystring , 52 , pFile);
        fclose (pFile);
    }


    struktura = (struktura *)(mystring);


    return str;
}


int main()
{

  struktura *str,h;


   str = &h;

   str =   foo(str);

    printf("0x%x \n\r", str->a);
    printf("0x%x \n\r", str->b);
    printf("0x%x \n\r", str->c);
    printf("0x%x \n\r", str->d);


  return 0;
}

Romča
C / C++ › Struktura do pole od určitéh…
24. 6. 2014   #191369

Tak se omlouvám jsem vypisovala jiné pole. Opravdu to jde pomocí memcpy, jen nevím jestli to je zrovna to pravé....

~typedef struct
{
   int x;
   uint16_t reserved;
   uint16_t reserved2;
} foo_t;;
 
int main(){

 foo_t foo;
     int i;
 uint8_t pole[20];

 for (i = 0; i < 10; i++)
 {
  pole[i] = 1;
 }


   foo.x=127;
   foo.reserved = 5;
   foo.reserved2 = 6;

   memcpy(&pole[10], &foo, sizeof(foo));


   for (i=0; i<20; i++)
      printf("%d ", pole[i]);

   printf("\n");

   return 0;
}

Romča
C / C++ › Struktura do pole od určitéh…
24. 6. 2014   #191367

#4 voty
Ahoj,

no já nevím mi to stejně kopíruje do toho pole od indexu 0. Do školy to není :-).

Romča
C / C++ › Struktura do pole od určitéh…
24. 6. 2014   #191364

#2 hlucheucho
Ahoj,

a jak do toho bytového pole dostanu po bytech tu strukturu? To mi nějak nedochází.... :

~typedef struct
{
   int x;
   uint16_t reserved;
   uint16_t reserved2;
} foo_t;;
 
int main(){

 foo_t foo;
    uint8_t *b = (uint8_t *)&foo;
    int i;
 uint8_t pole[20];

 for (i = 0; i < 10; i++)
 {
  pole[i] = 1;
 }


   foo.x=127;
   foo.reserved = 5;
   foo.reserved2 = 6;

   for (i=10; i< (10+sizeof(foo)); i++)
 {
  pole[i] = ?????????; // !!!!!!!!!!!!!!!!!!!!!!!!!!
 }


   for (i=0; i<sizeof(foo); i++)
      printf("%d ", b[i]);

   printf("\n");

   return 0;
}

Romča
C / C++ › Struktura do pole od určitéh…
24. 6. 2014   #191360

Ahoj,

mám zarovnanou strukturu a bytové pole. Potřebovala bych strukturu uložit po bytech do toho pole, ale od určitého indexu. Uložit to od 0 indexu není problém, ale od určitého indexu nevím. Mám ještě jedno omezení a to, že nesmím využívat dynamickou alokaci paměti. Od indexu 0:

~typedef struct
{
   int x;
   uint16_t reserved;
   uint16_t reserved2;
} foo_t;;
 
int main(){

 foo_t foo;
    uint8_t *b = (uint8_t *)&foo;
    int i;
 
   foo.x=127;
   foo.reserved = 5;
   foo.reserved2 = 6;

   for (i=0; i<sizeof(foo); i++)
      printf("%d ", b[i]);

   printf("\n");

   return 0;
}

Herm
C / C++ › Uint32_t na pole uint8_t
16. 6. 2014   #191089

Ahoj,

chtěl bych převést uint32_t na pole uint8_t, ale číslo bych chtěl v poli uložit např. od indexu 5. Nechci, ale číslo do pole ukládat přes indexy, ale spíš nějak pomocí *(uint32_t  *) a = v;. Jde to nějak?

uint32_t v = 0x55669988;

uint8_t a[20];

*(uint32_t  *) a = v;

// přesně takhle to nechci

  a[5] = v >> 24;
  a[6] = v >> 16;
  a[7] = v >>  8;
  a[8] = v;

Libor
C / C++ › Problém s endianitou
9. 6. 2014   #190907

#2 KIIV

Ahoj,

no, jak tam hledám tak je to asi jediná možnost :-/ Moc se mi to, ale nelíbí....

 

Libor
C / C++ › Problém s endianitou
9. 6. 2014   #190903

~~Ahoj,

mám následující problém: Mám zarovnanou strukturu a potřebuji jí převést na pole bytů. Problém je, že se hodnoty do pole ukládají ve formátu little endian a já bych potřeboval, aby se ukládali ve formátu big endian. Nevíte jak to vyřešit?

typedef struct
{
 int    a;    
 short int b;       
 uint8_t   c;    
 uint8_t   d;    
} mystruct;

void main()
{
int i;
uint8_t * test;
mystruct *str, s;
str = &s;

str->a = 0xFFEEDDCC;
str->b = 0;
str->c = 0;
str->d = 0;

test = (uint8_t *)&st;
for(i = 0; i < sizeof(mystruct); i++)
{
 printf(“ %x \n\r“, test[i]);
}
}

Patrik
C / C++ › Výpočet přes celou strukturu
3. 6. 2014   #190683

#12 hlucheucho
Do textového řetězce? Při sčítání se to bude muset zase převádět zpět na čísla pomocí atoi či tak. To se mi zdá dost nešťastné řešení. Nebo to nechápu.

Patrik
C / C++ › Výpočet přes celou strukturu
3. 6. 2014   #190672

Ahoj,

pokusím se to vyřešit tím přetypováním, ale mám ještě problém, že ty čísla se ukládají ve formátu little endian a já bych to potřeboval ukládat ve formátu big endian. Jednotlivé položky bych potřeboval ihned takto do pole uložit, protože měnit to až po uložení do pole je nesmyslné a nereálné. Jen mě nějak nenapadá, jak na to při tomto přetypování.  

Patrik
C / C++ › Výpočet přes celou strukturu
2. 6. 2014   #190654

#7 vitamin

Ahoj,

já potřebuju potom ty jednotlivé položky brát po osmy bitech. Takže klidně by šlo i něco ve stylu, že by se vždy postupně ze struktury bralo vždy osm bitů..... Možná by to šlo udělat i jinak než výše zmíněné.

Patrik
C / C++ › Výpočet přes celou strukturu
2. 6. 2014   #190651

Ahoj,

nemůžeš sem dát nástřel té myšlenky struktury jako pole bytů a přetypování ukazatele?

Patrik

Patrik
C / C++ › Výpočet přes celou strukturu
2. 6. 2014   #190649

Ahoj,

já potřebuju vypočítat CRC přes jednotlivé položky ve struktuře. Ve stylu crc(stuktura, velikost struktur);. Takže mě zajímá zda se můžu v té struktuře nějak pohybovat, abych to nemusel počítat přes jednotlivé položky. Nic mě, ale nenapadá, jen to jestli nejde nějak ten ukazatel posunovat?

Patrik
C / C++ › Výpočet přes celou strukturu
28. 5. 2014   #190552

Ahoj,

řekněme, že mám strukturu a chci vypočítat součet prvků dané struktury. Nechci to, ale počítat po jednotlivých členech, ale přes celou strukturu, řekněme třeba přes for cyklus (naznačeno v mainu). Nedá se nějak využít ukazatele, který by se posunul nějak na další prvek? Či jak bych toto mohl udělat?

typedef struct

 int    a;      
 short int b;      
 uint8_t   c;    
 uint8_t   d;   
 uint32_t  e;         
 uint32_t  f;       
} foo;

 int main(void)
 {
 foo *f, f_p;
 int soucet;

 f = &f_p;

 f->a = 1;
 f->b = 2;
 f->c = 3;
 f->d = 4;
 f->e = 5;
 f->f = 6;


 for(int i = 0; i < sizeof(foo);i++)
 {
  soucet += *f;
 }

    return 0;
 }

S pozdravem

Patrik

Aleš
Photoshop › 3D model
26. 10. 2013   #182802

Ahoj,

jsem v Ps úplnej začátečník, dělám v inventoru (konstrukce) a když potřebuju nějáký design výrobku, tak sáhnu po corelu.....,ale zaslechl a viděl jsem na youtube, že lze v Ps udělat design 3D věcí. Takže....zkrátka by mě zajímalo, jestli je to tak, že v Ps otevřu STEP a nabarvím si ho jak chci popř. jak to s tim 3D je. Děkuju. Aleš

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý