UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.
V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.
Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.
Byla vydána nová verze 3.27.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 5 zranitelností.
Řídící výbor GCC schválil záměr do GCC začlenit backend WebAssembly.
Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.
Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.
Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.
Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.
V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.
ls -l >data.txt
sh p2.exe
-obsah souboru p2.exe
main()
{
char radek[100];
char pismeno;
float soucet,nasobek;
int i;
FILE *fd;
FILE *fw;
if((fd=fopen("data.txt","r"))==NULL) return;
if((fw=fopen("SOUHRN.txt","w"))==NULL) return;
soucet=0;
printf("Zadejte pismeno, na ktere maji zacinat soubory:\n");
scanf("%c", &pismeno);
while(!feof(fd)) /* vypis souboru */
{
fgets (radek,100,fd);
if(radek[56] == pismeno){
printf("%s\n",radek);
fprintf(fw,"%s", radek);
i=42;
nasobek=1;
while ((i-- > 30) && (radek[i] != ' ')){
soucet+=(radek[i]-48)*nasobek;
nasobek*=10;
}
}
}
fclose(fd);
fclose(fw);
getchar();
system("pause");
}
<pre> a </pre> tagy.
#include<stdio.h>
sh p2.exe ti nebude fungovat. Jednak je v unixech koncovka exe zbytečná a druhak se ten soubor spustí ./p2 (./p2.exe, když už to musí být).$ gcc -c p2.c -o p2.o $ gcc p2.o -o p2.exe $ ls -l >data.txt $ cat data total 16 -rw-r--r-- 1 misak users 0 Jan 3 22:28 SOUHRN.txt -rw-r--r-- 1 misak users 0 Jan 3 22:28 data.txt -rw-r--r-- 1 misak users 744 Jan 3 22:20 p2.c -rwxr-xr-x 1 misak users 7590 Jan 3 22:20 p2.exe -rw-r--r-- 1 misak users 1680 Jan 3 22:20 p2.o $ ./p2.exe Zadejte pismeno, na ktere maji zacinat soubory: p $ cat SOUHRN.txt $Tady jsou změny, které jsem musel udělat:
$ diff p2.c.original p2.c
0a1
> #include<stdio.h>
22c23
< if (radek[56] == pismeno)
---
> if (radek[44] == pismeno)
39c40
< system ("pause");
---
> //system ("pause");
Pokud ti nejede žádný unix, co takhle zkusit cygwin? Nebo vmware player s nějakým nainstalovaným unixem?
.Díky za pomoc, jen k těm změnám: include.., to jsem dodělal, system("pause") odstranil ale co ta "IF", kam s nimi ? Nebo pochopil jsem dobře, že řádek:
if (radek[56] == pismeno)ls -l začínal na 45. sloupci a ne 57., ale teď se dívám, že na CentOS je to taky 56, takže ten řádek raději neměň, pokud ti to funguje
ls -l'. K procházení adresáře slouží opendir(), readdir() a closedir(), případně, nechce-li se tazatel zabývat přenositelností, lze uvažovat o použití scandir().
ls -l. Sice je to přitažené za vlasy, ale některá zadání taková bývají.
radek[56], aniž by se ověřilo, že je řádek aspoň tak dlouhý, což zrovna hned první nebude. Sice je to ve staticky alokovaném bufferu, takže nehrozí pád programu nebo zneužití, ale to, zda se bude první řádek kopírovat nebo ne, je de facto dáno náhodou. Také je podivné, že se celou dobu něco sčítá do proměnné soucet (proč je vlastně typu float?), ale hodnota se nikde nepoužije. Rozumnější verze programu by mohla vypadat např. takto:
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
int main(int argc, char* argv[])
{
DIR* dir;
struct dirent* de;
struct stat info;
unsigned long long size;
size_t prefixlen;
const char* pgmname;
const char* p;
int R;
pgmname = argv[0];
for (p=argv[0]; *p; p++)
if (*p == '/') pgmname = p+1;
if (argc < 2) {
fprintf(stderr, "usage: %s directory [prefix]\n", pgmname);
return 1;
}
if (argc == 3) prefixlen = strlen(argv[2]);
else prefixlen = 0;
dir = opendir(argv[1]);
if (!dir) {
perror(pgmname);
return 2;
}
R = chdir(argv[1]);
if (R < 0) {
perror(pgmname);
return 3;
}
size = 0;
while ((de = readdir(dir)))
if (prefixlen==0 || !strncmp(de->d_name, argv[2], prefixlen)) {
stat(de->d_name, &info);
if (S_ISREG(info.st_mode)) {
size += info.st_size;
puts(de->d_name);
}
}
closedir(dir);
printf("Total size: %llu\n", size);
return 0;
}
.
No, co se týká toho školního servru
, ono něco takového asi existovat bude
, jenže já to mám jako volitelňák, takže jsem tam byl jen na jedné čtyřhodinovce, takže jsem to info asi ňako nezaznamenal
ls, nastavení locale a přesném vyvážení mnoha dalších okolnostífloat (které nakonec stejně nepoužije)
Tiskni
Sdílej: