Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-10-2005, 15:27   #1
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
[C] ..e le stringhe?!?

raga mi sto da pochissimo avvicinando al C ma già programmo in Turbo Pascal, Visual Basic 6 ed un po di .Net e di derivazione anche Delphi 7...

in tutti questi linguaggi esiste la definizione di variabile stringa:"string" ma in C questa non c'è...

ora mi sta bene dichiarare le stringhe come array di caratteri MA se devo leggere un intero rigo di un file per poi analizzarlo come faccio?!

Per dichiarare un'array gli devo dare una lunghezza tipo:
Codice:
char Nome[14];
giusto?
ma io come faccio a sapere a priori la lunghezza della riga da leggere?

qualcuno mi dice la procedura che si usa in C per leggere una intera riga da file?

grazie mille
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2005, 16:10   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
In quel modo hai dichiarato un'array caratteri di grandezza fissa. Per avere un'array di caratteri di lunghezza indeterminata, devi usare un puntatore, quindi:
Codice:
char * stringa;
E gestire la sua allocazione (malloc) il suo ridimensionamento (realloc) e l'eliminazione (free). Benvenuto nel mondo del C!
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2005, 16:11   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Usa fgets, con un buffer di dimensione ragionevole.

Se le tue righe possono avere dimensioni abnormi, devi cambiare tecnica (ad es. mmap), oppure leggere un byte alla volta.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2005, 16:25   #4
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
ok mettiamo che per qualche ragione io devo leggere e memorizzare in una variabile un intero file!

facciamo che il file abbia 10 righe...
come si fa?

potreste scrivere un po di codice?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2005, 17:27   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Il metodo classico è allocare un buffer grande quanto l'intero file, e leggerlo dentro. E' un metodo triviale ma poco efficiente, soprattutto se il file è grande e hai poca memoria. Meglio mappare il file nello spazio di indirizzi del processo.

Ad esempio questo programma mappa un file, e lo stampa un carattere alla volta (è per linux/unix, ma ti rende l'idea):

Codice:
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <fcntl.h>

int main(int argc, char **argv)
{
	int fd;
	struct stat st;
	char *map;
	int x;

	if (argc<2) {
		printf("%s <file>\n", argv[0]);
		return -1;
	}

	fd = open(argv[1], O_RDONLY);
	if (fd<0) {
		perror("open");
		return -1;
	}

	fstat(fd, &st);

	map = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
	if (map==MAP_FAILED) {
		perror("mmap");
		return -1;
	}
	close(fd);

	for (x=0; x<st.st_size; ++x)
		printf("%c", map[x]);

	munmap(map, st.st_size);
	return 0;
}
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2005, 20:00   #6
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
niente di meno quello che nei 3 linguaggi che conosco si fa con:

VB6:
Codice:
dim variabile_destinazione as string
dim rigo_letto as string

open "c:\esempio.txt" for input as #1
    while not eof(1)
       input #1, rigo_letto
       variabile_destinazione=variabile_destinazione+rigo_letto
    wend
close #1
PASCAL:
Codice:
Var file:text;
     rigo:string;
     carattere:char;

   assign('c:\esempio.txt',file);
   reset(file);
   while not eof (file) do
   begin
        read(carattere,file);
        rigo=rigo + carattere;
   end;
(scritto alla buona )

si trasforma in tutto quel casino?!? non ci voglio credere

non esiste un modo più semplice?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC

Ultima modifica di leadergl : 19-10-2005 alle 20:14.
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 19-10-2005, 22:09   #7
Joker84
Senior Member
 
L'Avatar di Joker84
 
Iscritto dal: Oct 2005
Città: Pompei(NA)
Messaggi: 3087
prova a contare quanti bytes occupa il file(in una var int)es alloca un'array di caratteri di tali dimensioni....
__________________
My Deviant-Gallery

 MacBook Pro 13'' Retina i5 dual-core a 2,6GHz - 8GB Ram - 256GB SSD :: iPhone 12 128GB :: iPad 7 128GB WiFi :: Apple Watch 4 (40mm) 
Joker84 è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2005, 08:55   #8
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da leadergl
niente di meno quello che nei 3 linguaggi che conosco si fa con:

si trasforma in tutto quel casino?!? non ci voglio credere
Ehm non è la stessa cosa. Quello che ti ho postato (che non è affatto difficile) è un procedimento molto più efficiente rispetto ai tuoi esempi.

Quote:
non esiste un modo più semplice?
Ok vuoi il modo "triviale". Anche questo scritto alla" buona":
Codice:
	FILE *f = fopen("esempio.txt", "rb");
	struct stat st;
	char *variabile;
	stat("esempio.txt", &st);
	variabile = calloc(st.st_size+1, 1);
	fread(variabile, 1, st.st_size, f);
	fclose(f);
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2005, 10:02   #9
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
In Python:
Codice:
f = open('pippo.dat')
s = f.read()
f.close()
print s
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2005, 12:29   #10
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da cdimauro
In Python:
Codice:
f = open('pippo.dat')
s = f.read()
f.close()
print s
In Bash:
Quote:
foo=`cat pippo.dat`
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 10:11   #11
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110


__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 10:38   #12
ri
Senior Member
 
L'Avatar di ri
 
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
Quote:
Originariamente inviato da ilsensine
Ok vuoi il modo "triviale". Anche questo scritto alla" buona":
Codice:
	FILE *f = fopen("esempio.txt", "rb");
	struct stat st;
	char *variabile;
	stat("esempio.txt", &st);
	variabile = calloc(st.st_size+1, 1);
	fread(variabile, 1, st.st_size, f);
	fclose(f);
        free(variabile);

ok le cose alla buona, ma non diamogli brutti vizi
ri è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 12:06   #13
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
io non voglio le cose alla buona ma è che di C non so ancora nulla, sto imparando...e non capisco perchè si fa tutto questo casino per leggere da un file....boh....

cmq per la procedura alla buona direi:

1) aprire file in lettura
2) redimensionare spazio di memoria in cui memorizzare
3) leggere il carattere
4) ripetere le operazioni 2 e 3 finchè non finisce il rigo o il file
5) chiudere il file

giusto?

mentre la versione "estesa", ovvero quella fatta come si deve, che faceva nel dettaglio?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 13:09   #14
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Ancora non ho capito se vuoi:

1 - leggere tutto il file in memoria
2 - leggerlo per righe (potendo assumere una dimensione ragionevole per le righe)
3 - leggerlo per righe ma potendo gestire righe anche di 736823763 caratteri...

Credo che con fgets, come ti ho suggerito, puoi gestire facilmente il 2. Per 1, ti ho dato due soluzioni (una elegante, l'altra non molto dissimile ai tuoi esempi). Rimane 3, che sinceramente non serve a niente.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 13:32   #15
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
mi interessano la 1 e la 3.
ma credo quella importante sia la 3...perchè implica un po la 1...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 13:40   #16
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Allora fai il contrario, no? Leggi (suggerirei: mappi) il file in memoria, e da lì tiri fuori le righe. Non capisco cosa c'è di difficile...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 13:55   #17
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
il difficile è che al momento ho dimestichezza 0 col C e come teoria sto alla dichiarazione dei vettori....!!

è questo il difficile...quindi mentre in Pascal, Delphi o VB se succede un errore riesco subito a trovare il perchè e se non riesco a fare una cosa in un modo la faccio in un altro..beh in C questa flessibilità non la ho perchè non conosco niente del C...e nel tuo codice vedo strutture che ancora non conosco e che non hanno un riscontro visivo immediato negli altri linguaggi:

Codice:
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <fcntl.h>

int main(int argc, char **argv)
{
	int fd;
	struct stat st;
	char *map;
	int x;

	if (argc<2) {
		printf("%s <file>\n", argv[0]);
		return -1;
	}

	fd = open(argv[1], O_RDONLY);
	if (fd<0) {
		perror("open");
		return -1;
	}

	fstat(fd, &st);

	map = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
	if (map==MAP_FAILED) {
		perror("mmap");
		return -1;
	}
	close(fd);

	for (x=0; x<st.st_size; ++x)
		printf("%c", map[x]);

	munmap(map, st.st_size);
	return 0;
}
questo è quello che mi hai scritto per mappare tutto il file in memoria MA:
Codice:
	struct stat st;
che struttura è?

Codice:
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <fcntl.h>
a che servono tutte ste librerie?

Codice:
	fd = open(argv[1], O_RDONLY);
questa credo serva ad aprire il file in sola lettura e farlo puntare da "fd"...credo...

Codice:
	if (argc<2) {
		printf("%s <file>\n", argv[0]);
		return -1;
	}
che cavolo è "argc"? a che serve? inoltre si possono passare argomenti alla main senza che questa venga in realtà chiamata da nessuno?!?

Codice:
	fstat(fd, &st);

	map = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
e queste due funzioni?!?
"fstat" a che serve?
"mmap" credo copii l'intero file in memoria...boh?!?
"munmap" credo elimini il file dalla memoria...boh?!


come puoi vedere questi sono un sacco di punti che per uno che si avvicina al C sono un po contorti...

io ho portato l'esempio degli linguaggi perchè semplicemente conoscendo le stringhe (dichiarazione comune di una variabile) e la funzione per "aprire" e "leggere" da un file si risolve tutto....mentre in C è un casino (e sinceramente nn capisco xkè un linguaggio così potente abbia un modo così contorto per leggere da file e non disponga della variabile stringa che è troppo comoda....
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 14:05   #18
v1ruz
Senior Member
 
L'Avatar di v1ruz
 
Iscritto dal: Nov 2004
Città: $HOME
Messaggi: 1213
se sei sotto UNIX[linux o mac os x] basta che apri un terminale e fai: man <nome_funzione>e scopri tutto..altrimenti fai una ricerca su google per le funzioni...ora devo andare a lezione e non posso spiegarti sorry
__________________

Last.fm: My Profile / GamerTag XBL: Martcus / Flickr / deviantArt
iBook 12'' / MacBook Pro 13'' / iPhone 3G 16GB Black / iPod 5G 30GB / iPod Nano 2G 4GB
v1ruz è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 15:46   #19
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da leadergl
<...>
Era solo un esempio per farti capire il concetto, speravo che capissi.
Quote:
come puoi vedere questi sono un sacco di punti che per uno che si avvicina al C sono un po contorti...
E' questo il problema, non conosci abbastanza come ragiona il c...
I linguaggi che hai portato ad esempio sono tutti linguaggi ad oggetti; forse con il c++ potresti trovarti più a tuo agio, ci sono già molti oggetti pronti che possono esserti di aiuto, ma non credere che imparare ad usarlo bene sia più facile...

Non so quello che devi fare; se è per un esame, prendi la strada più semplice (fgets).
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2005, 17:00   #20
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
no, io ho capito quello che cercavi di dirmi col primo algoritmo ed è quello che cercavo...nel senso, mi spiego, sapere come si legge da file non mi serve per nessun esercizio universitario o per fare qualche esame al momento...ma siccome sto seguendo il corso di Algoritmi e Strutture Dati ma sopratutto il LABORATORIO di ASD ho bisogno di conoscere il C...così mentre il prof. (x ki come me ha fatto pascal) fa una rapida descrizione delle varie cose (if, while, array..etc..) io vorrei cercare di impararlo per bene questo linguaggio...

ovvio che non mi basta un giorno o una settimana perchè ci devo prendere dimestichezza e devo capire il modo in cui il C tratta TUTTO però voglio impararlo ed ovviamente mi son fatto delle domande, la più banale era questa sui files che non mi spiegavo come leggere un file in maniera rapida e semplice (o sempliciotta) senza l'uso di una struttura "stringa" vera e propria...

il mio intento era arrivare a quel codice che tu hai scritto ma che ovviamente a me in questo preciso momento dice poco per le mie scarse conoscenze di C (anzi nulle).

Ovvio che adesso dovrò vedermi il trattamento/uso di Array, Matrici, Puntatori in C e questo mi aprirà la strada alle Code/Liste/Alberi ed ai Files...visto che vedo uso di puntatori...però il mio intento è farle per bene le cose quindi il tuo algoritmo è perfetto ma mi serve un po per capirlo mentre una cosa un po più alla buona (come gli altri algoritmi semplificati) mi permettono un po di prendere familiarità

cmq vi ringrazio per avermi risposto, thanks
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Dell e HP rimuovono la codifica e transc...
Prezzo eccezionale per Samsung Galaxy S2...
Black Friday esplosivo: arrivano extra s...
Google apre la strada al file sharing tr...
Black Friday Monitor 2025: OLED, QD-OLED...
Arrivano le nuove specifiche Matter 1.5:...
Microsoft rende open source la trilogia ...
DAZN continua la lotta contro la pirater...
Generativa o predittiva? Il futuro dell’...
BYD va all-in con la Atto 2: batteria pi...
Google modifica la richiesta di consenso...
Black Friday TV: OLED, QLED e Mini-LED a...
007 First Light torna a mostrarsi all'ev...
MOVA Z60 Ultra Roller Complete: il Black...
Clair Obscur: Expedition 33 trionfa ai G...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v