Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
La seconda generazione della citycar elettrica di Dacia passa alla piattaforma RGEV small di Renault Group, cresce di 15 cm in lunghezza e 18 cm in larghezza, adotta un motore da 80 CV e una batteria LFP da 27,5 kWh per 250 km WLTP. Prezzi da 17.900 euro, produzione a Novo Mesto in Slovenia.
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-12-2004, 10:27   #1
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
[c]fclose e salta tutto!!!

il codice è quello sotto. così funziona perfettamente , però se provo a mettere fclose(file); insieme agli altri mi si impalla tutto (segmentation-fault)....
non è che qualcuno saprebbe anche dirmi il perchè?
credevo di essere fuori dal limite del file, quini ho proato a usare rewind, ma il problema rimane

perchè?
grazie, ciao!

Codice:
#include <stdio.h>

#define SIZE 20

int confronto(char*,char*,int);
int inizializza(FILE* file, char *stringaTemp, int lunghezza);

int main(){
  FILE * file, *nuovo, *log;
  char stringa2[SIZE],stringaTemp[SIZE], stringa1[SIZE];
  int riga = 0, i,lunghezza = 0, occorrenze = 0;
  char carattere;

  if((nuovo = fopen("modificato.txt","w+")) == NULL){
    return 1;
  }
  if((log = fopen("dati.txt","w+")) == NULL){
    return 1;
  }
  if((file = fopen("testo.txt","r")) == NULL){
    return 1;
  }

  printf("inserici la stringa da cercare\n");
  scanf("%20s", stringa1);
  printf("inserici la stringa da sostituire\n");
  scanf("%20s", stringa2);

  //calcola la dimensione della stringa da cercare
  for(i = 0; i < SIZE; i++){
    if(stringa1[i] != NULL){
      lunghezza++;
    }else{
      break;
    }
  }

  while(inizializza(file,stringaTemp,lunghezza) != -1){  
    if(confronto(stringa1,stringaTemp,lunghezza)){
      fprintf(nuovo,"%s", stringa2);
      occorrenze++;
    }else{
      fprintf(nuovo,"%c", stringaTemp[0]);
    }
	
      fseek(file,-(lunghezza-1), SEEK_CUR);
    }
  }/*fine while*/
 
  fclose(nuovo);
  fclose(log);
  fclose(file);
  return 0;
}


int confronto(char* stringa1,char* stringa2,int len){
  int i;
  for(i = 0; i < len; i++){
    if(stringa1[i] != stringa2[i]){
      return 0;
    }
  }
  return 1;
}

int inizializza(FILE* file, char *stringaTemp, int lunghezza){
  int i;
  //inizializza l'array con i primi caratteri
  for(i= 0; i < lunghezza; i++){
    if(fscanf(file,"%c",&stringaTemp[i]) != 1){
      fclose(file);
      return -1;
    }
  }
}
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 10:54   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Re: [c]fclose e salta tutto!!!

Quote:
Originariamente inviato da NA01
il codice è quello sotto. così funziona perfettamente , però se provo a mettere fclose(file); insieme agli altri mi si impalla tutto (segmentation-fault)....
Perché fai un doppio fclose: il primo in "inizializza", il secondo al termine di main.
__________________
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
 Rispondi


Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa Nuova Dacia Spring, del modello precedente resta...
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Una valanga di wafer e memorie incombe s...
Microsoft 365, miglioramenti dopo il dow...
Un'IA attacca la tua azienda, ma per dif...
TSMC investe 1 miliardo di dollari in Op...
Niente più risposte IA nelle ricerche: M...
Allarmi bomba nelle scuole, il Viminale:...
OpenAI incassa 10 miliardi in tre mesi, ...
Continua il Black Friday Engwe: sconto e...
OnePlus 12 riceve Android 17 con una set...
Troppe patch generate dall'IA: anche chi...
Comprata e spenta il giorno dopo: cos'er...
Google lancia Tabletop, l'IA che trasfor...
SpaceX e Tesla verso la fusione del seco...
One UI 9.5 arriva anche su Galaxy S25: S...
Kimi K3 gira in casa senza GPU, sulla me...
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: 17:37.


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