Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-08-2005, 01:23   #1
GiulioCesare
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 364
[C] Lettura file

Salve ragazzi, ho un problema con la visualizzazione di una stringa letta da
un file di testo, la stringa viene visualizzata solo per metà e i restanti
caratteri, sono caratteri sporchi. Altra cosa, come posso leggere delle
stringhe, da un file, senza sapere in anticipo, quanto saranno lunghe queste
stringhe? Comunque questo è il codice, spero che qualcuno potrà aiutarmi
Codice:
#include <stdio.h>
int main()
{
	char buf[9],i;
	char *p;

	FILE *fp;

	int dimensione=9,elementi=1;

	fp=fopen("file.txt", "r");

	if (!fp)
   	{
      		printf("Non posso aprire il file \n");
      		exit(1);
   	}


	fread(buf,sizeof(dimensione),elementi,fp);
	fclose(fp);

	printf("%s \n", &buf);
	
return 0;
}
GiulioCesare è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2005, 02:18   #2
Ed_Bunker
Senior Member
 
L'Avatar di Ed_Bunker
 
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9556
Dipende da quanto vuoi leggere dal file.
Se vuoi leggere l'intero file puoi aprirlo ed in base alla sua dimensione crearti un buffer delle dimensioni appropriate.
Altrimenti, supponendo di non sapere nulla a priori ti crei un buffer di una dimensione arbitraria (Supponiamo 64 byte) e quindi fai un ciclo di letture in cui ad ogni passo riempi tale buffer e poi procedi leggendo i successivi fino a quando non ci sono piu' dati da leggere o fino a quando pare a te.
L'unico modo per sapere quanto e' lunga la stringa e' contarne i caratteri finche' non trovi un \0 che e' il carattere di terminazione.
Piu' velocemente puoi utilizzare la funzione strlen che passata una stringa ne restituisce la lunghezza.
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C.
Ed_Bunker è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2005, 11:31   #3
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
Non puoi scrivere cosi:
Codice:
	fread(buf,sizeof(dimensione),elementi,fp);
Devi Scrivere cosi:
Codice:
	fread(buf,dimensione,elementi,fp);
Con il metodo che stavi utilizzando tu andavi a leggere tanti caratteri quanti e grande una variabile int (cioè 4 se lavori a 32 bit o 2 se lavori a 16 bit)
e non 9 come volevi fare...
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2005, 12:36   #4
Ricky
Senior Member
 
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
il fatto della stringa dipende dal problema della dimensione come dice tglman.
inoltre tu quando fai una print con una stringa devi essere sicuro che questa stringa abbia il carattere di terminazione \0.

per leggere una stringa non sapendo niente del file puoi leggere carattere per carattere nel file fino al primo \0. Memorizzi ogni volta in un buffer e lo stampi...poi passi avanti!

tipo

Codice:
i=0;
do{
    if((ret=read(fp,&carattere,sizeof(char)))!=0){;
    if (carattere=='\0'){
         buffer[i]='\0';
         print("%s\n",buffer);
         i=0;
    }
    else{
         buffer[i]=carattere;
         i++;
    }
    }
}while(ret!=0)
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300...

Ultima modifica di Ricky : 04-08-2005 alle 12:37. Motivo: errori vari
Ricky è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
Curry Barker, il regista di Obsession, p...
Intel Nova Lake: fino al 33% di prestazi...
L'IA accelera gli attacchi e complica la...
GTA 6 avrà circa 600.000 animazio...
SpaceX non ha più bisogno della NASA, e ...
Apple TV 4K e iPad mini OLED, Xcode 27.2...
Prime Video vale ormai decine di miliard...
Amazon: AWS cresce del 39,3%, ma gli inv...
6,3 miliardi di dollari sottratti in men...
Crepe, rotture e liste d'attesa, ma Appl...
World of Warcraft sbarca su browser, gra...
3+1 AI Data Platform, l'ecosistema apert...
Mistral Large 4 apre i pesi e sfida GLM-...
E-bike Engwe con doppio sconto: scegli t...
Windows 11 e consumo eccessivo di batter...
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: 16:06.


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