Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-06-2002, 00:02   #1
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
[c]Leggere stringa da file con spazi

Salve a tutti,
un piccolo aiutino...
Come posso leggere una stringa da file del tipo:
c:\documents and settings\cartella\file.ext

senza che mi si fermi allo spazio e senza sapere la sua lunghezza a priori? (cosa che fa fgets e scanf)?

Grazie per l'aiuto
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2002, 09:23   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mmmmhhh...mi sembra che fgets legga fino alla fine della linea (o fino alla dimensione specificata) e non si fermi sugli spazi...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2002, 11:48   #3
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
si infatti mi sono espresso male, ma fgets ha lo svantaggio di prendere anche il codice di fine riga, e se poi passo questa path che ho memorizzata su un buffer mi dice che non è valida (perchè ha il fine riga compreso) e non sapendo la size della path a priori imposto un fgets mettiamo di 100 caratteri per essere sicuro di prenderla tutta, ma poi prendo anche il \n
Come risolvo sta rogna?
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2002, 12:04   #4
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
Ho risolto in un modo orribile...

Char *cImagePath;
cImagePath = new char[100];
fscanf (pfVTCPara, "%[^@]", cImagePath);

Avendo memorizzato la stringa nella forma:
c:\documents and settings\cartella\file.ext@

ossia con un carattere @ che appena lo incontra si ferma.... esiste un modo decisamente più carino?
Mi domando perchè ogni tanto il c++ è così poco flessibile.. bah!
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2002, 12:41   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da MisterW2
[b]Ho risolto in un modo orribile...

Char *cImagePath;
cImagePath = new char[100];
fscanf (pfVTCPara, "%[^@]", cImagePath);

Avendo memorizzato la stringa nella forma:
c:\documents and settings\cartella\file.ext@

ossia con un carattere @ che appena lo incontra si ferma.... esiste un modo decisamente più carino?
Mi domando perchè ogni tanto il c++ è così poco flessibile.. bah!
Il modo più semplice è questo, basta mttere un buffer molto grande (oltre MAX_PATH il nome del file non può essere lungo) :
Codice:
char file[MAX_PATH + 1];

//apri il file
if(fgets(file, MAX_PATH, f);)
{
   if(file[strlen(file)-1] != '\n')
      //errore il nome del file è troppo lungo
   else
   {
      file[strlen(file)-1] = '\0'; 
      //fai quello che devi fare con il nome del file
   }
}
//chiudi il file
Questo procedimento è corretto...anche perchè evita buffer overflow...
Mentre la fscanf non li evita...

PS : al posto della @ potresti mettere \n...almeno non dovresti cambiare il contenuto del file...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2002, 12:58   #6
MisterW2
Member
 
Iscritto dal: Oct 2001
Messaggi: 57
Grazie ora funziona... sei un mito
MisterW2 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2002, 14:49   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Bene
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Xbox Game Pass, il mese di luglio 2026 s...
Smartphone troppo cari: Qualcomm ripensa...
Age of Empires III: Definitive Edition t...
GitHub contro i report fatti dall'IA: ri...
Google spinge sugli schermi ultra-wide: ...
Occhiali smart, Instagram bannerà chi re...
L'UE approva PRIMA: il chip fotovoltaico...
Nothing smentisce l'uscita da alcuni mer...
Tassa sui pacchi extra-UE, Giorgetti: da...
Jensen Huang esordisce su X: 'non mettet...
Ha reso lo smartphone e Amazon lo ha 'pe...
TOP 10 offerte del weekend Amazon: ai pr...
TV LG C6 e B5 da 55 pollici: due OLED da...
Tomb Raider: Catalyst rinviato al 2028, ...
Lefant M210 Omni a 265,99€: il robot sli...
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: 00:59.


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