Wings 3D, tj. open source 3D modelovací program naprogramovaný v programovacím jazyce Erlang zaměřený na modelování pomocí subdivision a inspirovaný programy Nendo a Mirai od Izware, byl vydán v nové opravné verzi 2.4.1. Ke stažení již také ve formátu Flatpak z Flathubu.
Webový prohlížeč Dillo byl vydán ve verzi 3.2.0. Přidává podporu vzorců v SVG, obrázků ve WebP, změny velikosti stránky či možností posouvání. Nedávno oslavil 25. výročí vzniku.
Hra Mini Thief je na Steamu zdarma napořád, když aktivaci provedete do 24. ledna do 19.00 [ProtonDB].
Certifikační autorita Let's Encrypt oznámila, že bude volitelně nabízet krátkodobé certifikáty s šestidenní platností a navíc s možností vystavit je na IP adresu. Zvolit typ certifikátu bude možné v certifikačním profilu ACME.
Herní konzole Nintendo Switch 2 byla oficiálně potvrzena. Vyjde letos. Trailer na YouTube. Více ve středu 2. dubna na Nintendo Direct.
Byl vydán Linux Mint 22.1 s kódovým jménem Xia. Podrobnosti v přehledu novinek a poznámkách k vydání. Linux Mint 22.1 bude podporován do roku 2029.
Google Chrome 132 byl prohlášen za stabilní. Nejnovější stabilní verze 132.0.6834.83 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 16 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).
Byla vydána verze 11.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 11.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.
Byla vydána nová verze 3.4.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 6 zranitelností.
V srpnu loňského roku byla vyhlášena RP2350 Hacking Challenge aneb oficiální výzva Raspberry Pi na prolomení bezpečnosti mikrokontroléru RP2350. Povedlo se. Včera byli představeni čtyři vítězové a jejich techniky.
Ahoj
potrebujem dostať parameter programu, odovzdať ho funkcii a spojiť ho s iným stringom. Je to vlastne názov pôvodného súboru ku ktorému sa ma pripojiť koncovka a pod týmto menom sa ma uložiť nový obrázok.
Mám toto:
int main(int argc, char** argv)
{
int poc_obr=argc-1;
char* filename;
for (n=0;n<poc_obr;n++) {
//opening image
filename = argv[n+1];
CImg<unsigned char> srcimg(filename) ; // toto funguje
savemask (,,,*filename); // tu ten názov predávam
}
}
void savemask (,,,char filename) {
char finalname[20]; // finalny nazov obrazka
strcat(finalname, const char* filename); // =riadok 124
strcat(finalname, "_mask.jpg");
mask_img.save(finalname);
}
kompilacia:
cphix-0h.cpp: In function ‘void savemask(mydata&, int*, int, char)’:
cphix-0h.cpp:124: error: expected primary-expression before ‘const’
Hľadal som už aj na nete, skušal som už veľa možností, ale zjavne mi chýba hlbšie pochopenie...
Vďaka za pomoc...
filename[20]
ako buffer).
mato@foxi:(~/lair/filename)$ ./atest picture picture02
DEBUG: working on picture
DEBUG: new file: picture_mask.jpg
DEBUG: working on picture02
DEBUG: new file: picture02_mask.jpg
mato@foxi:(~/lair/filename)$
osobne by som ti ale odporucil prejst nejaku C/C++ ucebnicu; aspon zbezne
string filename,newfilename;
while ( a < argc) {
filename =argv[a];
newfilename=filename+"_mask.jpg";
......
}
Nemam tu teraz ten môj rozpracovaný program, ale urobil som si skúšobný program a funguje to. Aj ked dosť dlho som sa s tým cez den mordoval a nezdá sa mi že som prehliadol takéto triviálne riešenie... Overim to zajtra...
+
v takom vyzname, ako si ho pouzil ty
nevidim ti do kodu a problemu co riesis, na tvoju otazku som ti teda odpovedal v C
ale nemyslim si, ze by to bolo nejak zlozite .. i ten operator +
v C++ je zadef. tak, ze musi vytvorit space pre novovzniknuty string - niekde sa ta sprava pamati musi udiat .. v C++ ju vsak v tomto pripade nevidis
problem je že funkcia ktorú potrebujem:
CImg<unsigned char> srcimg(filename) ;
neberie filename ak je definované ako string, stažuje sa:
/usr/include/CImg.h:6992: note: candidates are: cimg_library::CImg<T>::CImg(const T*, unsigned int, unsigned int, unsigned int, unsigned int, bool) [with T = unsigned char]
preto som filename mal definované ako :
char* filename;
ale potom mám problem to prenášať medzi funkciami. Mne by vyhovovalo narábať s filename ako so stringom, kvôli upravam, ale potom to potrebujem predať CImg<unsigned char> ako char....
char *char_filename=new char[filename.size()+1] ; char_filename[filename.size()]=0; memcpy(char_filename,filename.c_str(),filename.size());Tak ako som to popísal výššie, pre CImg to budem konvertovať na char a inak to bude string. Teda tu konverziu som samozrejme našiel na nete. V každom prípade vďaka za pomoc...
Tiskni Sdílej: