Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
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 essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-07-2010, 15:45   #1
blu1988
Member
 
Iscritto dal: May 2010
Messaggi: 42
[C]errore apertura file!

Codice:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXLEN 10+2
#define MAX 255
typedef struct elenco_s elenco_t;

struct elenco_s{
       char stato;
       char sesso;
       int id;
       int day;
       int h;
       elenco_t *next; 
       };


elenco_t*load(FILE*);
elenco_t*NewE();
void check(elenco_t*);




main(){

FILE*fp;
elenco_t *elenco;     
char nomef[MAX];   
       
printf("Inserire nome file con soci>");       
scanf("%s",nomef);
//open&check
fp=fopen(nomef,"r");
       if(fp==NULL){
          printf("errore apertura file");          
          exit(1);          
                    }
elenco=load(fp);
fclose(fp);
check(elenco);
       
       
       
       }
       
       
       //funzioni
       
       //newE
elenco_t*NewE(){
elenco_t*tmp;

tmp=(elenco_t*)malloc(1*sizeof(elenco_t));
if(tmp==NULL){
   printf("errore allocazione");
   exit(1);
              }
  return(tmp);     
                
                }
       //load         
elenco_t*load(FILE* fp){
                      
char buff[MAXLEN];  
char stato,sesso;
int id,day,h;
elenco_t*p;
elenco_t*head=NULL;  
  
  while(fgets(buff,MAXLEN,fp)!=NULL){
        sscanf(buff,"%c:%c%d:%d:%d",&stato,&sesso,&id,&day,&h);   
        
        p=NewE();
        
        p->stato=stato;
        p->sesso=sesso;
        p->id=id;
        p->day=day;
        p->h=h;
        p->next=head;
        head=p;
        }                         
return(head);
}
                      

//check

void check(elenco_t*elenco){
     
elenco_t*p;

p=elenco;

while(p!=NULL){
      printf("stato=%c\nsesso=%c\nid=%d\nday=%d\nh=%d\n,p->stato,p->sesso,p->id,p->day,p->h");
      p=p->next;}         
               
               
               }
ciao a tutti...vorrei sapere perchè quando inserisco il nome del file che deve leggermi e caricarmi in lista mi da errore apertura file(che sarebbe il comando che mi stampa quando fp==NULL)...dove sbaglio?


ps
es file inserito

E:M123:1:7\n
U:M123:1:7\n
blu1988 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 17:23   #2
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
immagino che tu ti sia accertato che il file esista, quindi: il nome del file contiene degli spazi? scanf("%s", ..) legge fino allo spazio, puoi usare gets al suo posto
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 17:34   #3
ciusss89
Senior Member
 
L'Avatar di ciusss89
 
Iscritto dal: Jul 2008
Città: mondovi
Messaggi: 1491
Ti propongo questa alternativa:

Codice:
if((fp=fopen(nomef,"r"))==NULL){
    fprintf(stderr,"Errore nell'apertura del file %s",nomef);
    exit(EXIT_FAILURE);
}
Ricordati che il c è case sensitive..cmq nella tua acquisizione non mi sembrava ci fossero errori
__________________
MB: Aw9d-max CPU: E6600 @ 3,32ghz (vcore default 1,275), DDR2 2x1gb 3/4/4/12 @ 2,10V , VGA: POV 8800 GTS 320mb 648/1458/975. RAFFREDDAMENTO A LIQUIDO ARTIGINALE ...
Vendo : ROUTER STATION PRO, SISTEMA EMEDDED.
ciusss89 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 18:26   #4
blu1988
Member
 
Iscritto dal: May 2010
Messaggi: 42
nessuno spazio...non so davvero perchè mi dia questo errore....il fatto è che me lo da sia su codeblocks che su dev...quindi penso sia qualcosa nel codice...il nome del mio file è in.txt...ma questo mi capita con il 90% dei programmi che scrivo!!
blu1988 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 19:50   #5
ciusss89
Senior Member
 
L'Avatar di ciusss89
 
Iscritto dal: Jul 2008
Città: mondovi
Messaggi: 1491
Quote:
Originariamente inviato da blu1988 Guarda i messaggi
nessuno spazio...non so davvero perchè mi dia questo errore....il fatto è che me lo da sia su codeblocks che su dev...quindi penso sia qualcosa nel codice...il nome del mio file è in.txt...ma questo mi capita con il 90% dei programmi che scrivo!!
Ecco il tuo errore...sai qnt volte l'ho fatto pure io..

ERRATO
Codice:
scanf("%s",nomef);
CORRETTO
Codice:
printf("Inserire nome file con soci>");
scanf("%s",&nomef);
//open&check
if((fp=fopen(nomef,"r"))==NULL){
    fprintf(stderr,"Errore apertura file %s",nomef);
    exit(EXIT_FAILURE);
}
__________________
MB: Aw9d-max CPU: E6600 @ 3,32ghz (vcore default 1,275), DDR2 2x1gb 3/4/4/12 @ 2,10V , VGA: POV 8800 GTS 320mb 648/1458/975. RAFFREDDAMENTO A LIQUIDO ARTIGINALE ...
Vendo : ROUTER STATION PRO, SISTEMA EMEDDED.
ciusss89 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 20:11   #6
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
nomef è già un puntatore, non serve usare l'operatore &.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 20:25   #7
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da ciusss89 Guarda i messaggi
Ecco il tuo errore...sai qnt volte l'ho fatto pure io..

ERRATO
Codice:
scanf("%s",nomef);
CORRETTO
Codice:
printf("Inserire nome file con soci>");
scanf("%s",&nomef);
//open&check
if((fp=fopen(nomef,"r"))==NULL){
    fprintf(stderr,"Errore apertura file %s",nomef);
    exit(EXIT_FAILURE);
}
e continui a farlo :x
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 20:34   #8
Rsk
Senior Member
 
L'Avatar di Rsk
 
Iscritto dal: Dec 2006
Messaggi: 314
Quote:
Originariamente inviato da blu1988 Guarda i messaggi
[code]
Sei sicuro di aver inserito il nome del file con tanto di estensione?
Il file risiede nella directory del progetto?
__________________
Athlon64 x2 5600 - AsRock ALiveNF5eSata2+ - kingston 2GB ddr2 800 - GeForce 8800gts 320MB
Rsk è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2010, 21:34   #9
ciusss89
Senior Member
 
L'Avatar di ciusss89
 
Iscritto dal: Jul 2008
Città: mondovi
Messaggi: 1491
Quote:
Originariamente inviato da cionci Guarda i messaggi
nomef è già un puntatore, non serve usare l'operatore &.
Mi scuso per la cazzata...suggerita..sto semplicemente impazzendo...
__________________
MB: Aw9d-max CPU: E6600 @ 3,32ghz (vcore default 1,275), DDR2 2x1gb 3/4/4/12 @ 2,10V , VGA: POV 8800 GTS 320mb 648/1458/975. RAFFREDDAMENTO A LIQUIDO ARTIGINALE ...
Vendo : ROUTER STATION PRO, SISTEMA EMEDDED.
ciusss89 è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2010, 00:27   #10
Isildur84
Member
 
Iscritto dal: Jan 2005
Città: Torino
Messaggi: 144
La butto lì, non insultarmi. Non è che usi windows e hai nascosto le estensioni dei file conosciuti? In questo modo il file che tu pensi si chiami file.txt in realtà si chiama file.txt.txt.
Isildur84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Canon, un brevetto descrive un 70-200mm ...
La volante della polizia adesso... vola:...
SK hynix supera i 100.000 miliardi di wo...
Surface Laptop Ultra ha 1.344 zone di lo...
TOP 10 offerte Amazon in 2 minuti: 3 sup...
Mythos 5 ha creato identità false per fa...
Google DeepMind presenta Genie 4, il mod...
Beats Studio Pro a 179€ in 3 colori, sup...
Oracle affida agli agenti di IA l'implem...
CO2 atmosferica a livello record nel 202...
Un portatile per i militari, ma con un o...
Discord, i messaggi di oltre 63.000 serv...
Nascosto nei meandri di Amazon, questo p...
Motorola Moto Buds 2 a 39,90€: prezzo di...
Due schede Raspberry Pi mai annunciate n...
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: 10:14.


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