Muszę napisać program ukrywający tekst w pliku BMP. Rozumiem mniej więcej jaki jest algorytm tego zadania, staram się wzorować na zasobach znalezionych w sieci, jednak mam problem, ponieważ nie mogę się nigdzie dokopać do jakiegoś kodu napisanego w czystym języku C,a własnie tak to muszę napisać. Jedyne co udało mi się znalezc to C++, jednak tam program opiera się w dużej mierze na klasach. Próbuję przepisać te klasy na struktury, jednak mam z tym problemy. Natknął się ktoś może na ten program w C? Ew. proszę o pomoc.
struct bajt{
int Wartosc;
char Bity[100];
int LiczbaBitow;
}a,b,c,d;
void Binarnie(){
int W;
int l=0;
W=a.Wartosc;
do{
if ((W % 2) == 0)
a.Bity[a.LiczbaBitow-l-1]='0';
else
a.Bity[a.LiczbaBitow-l-1]='1';
W/=2;
l++;
}while (l!=a.LiczbaBitow);
}
Utworzyłem strukturę która ma zawierać informację o bajtach. Później chce dokonać zmiany atrybutu na binarne wartosci.
void Zamien(a,b,c,d){
Binarnie(a);
Binarnie(b);
Binarnie(c);
Binarnie(d);
for (int i=0;i<8;i++)
a.Bity[i]=d.Bity[i];
for (int i=0;i<8;i++)
Bity[i+8]=c.Bity[i];
for (int i=0;i<8;i++)
Bity[i+16]=b.Bity[i];
for (int i=0;i<8;i++)
Bity[i+24]=a.Bity[i];
return;
}
Wyżej chce utworzyc 32 bitowa liczbe z bitow a, b, c, d. Jednak nie wiem, czy mogę w funkcji globalnej jako argument podać strukturę i jak przekazać poszczególne bajty do funkcji binarnie, w celu zmienia ich wartości.