Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo
Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo
Find X9 Ultra è lo smartphone che tanti aspettavano, e finalmente è arrivato anche in Italia. Abbiamo provato il flagship di OPPO per diverse settimane, e siamo volati fino in Cina alla sua presentazione ufficiale. Tutto gira intorno al suo incredibile comparto fotografico in collaborazione con Hasselblad e con un totale di sei fotocamere. Il resto è un mix di specifiche di altissimo livello, così come il prezzo. Vi raccontiamo tutto nella nostra recensione completa.
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-07-2010, 14: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, 16: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, 16: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, 17: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, 18: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, 19: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, 19: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, 19: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, 20: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 21-07-2010, 23: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


Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo Recensione OPPO Find X9 Ultra: è lui il c...
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
SpaceX: la droneship Just Read the Instr...
Project Helix sarà prodotta anche...
La NASA pubblica alcuni aggiornamenti su...
Tute spaziali AxEMU per Artemis: Axiom S...
Nutanix Government Cloud Clusters arriva...
Troy Baker lavora a un progetto tutto su...
Motorola Edge 60 Neo è il compatt...
Stretto di Hormuz, finti funzionari iran...
Dragon Ball Xenoverse 3 annunciato uffic...
WINDTRE BUSINESS potenzia i servizi IoT ...
OPPO rinnova l'ecosistema: arrivano Watc...
OPPO Find X9 Ultra ufficiale: debutta il...
Renault Twingo: esposta a Milano per far...
Intel vuole cambiare: overclocking anche...
Anche PlayStation introduce la verifica ...
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: 20:35.


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