|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6399
|
[C] Lettura floats.
Ciao ragazzi,
ho un dubbio banale sulla fscanf. Ho scritto due colonne di valori floats in un file con "%8.2f %8.2f". Rileggendoli allo stesso modo, mi va in sigfault. Se invece alla fscanf metto "%f %f" funziona tutto a dovere. Codice:
#define PI 3.14159265358979
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
int punti,i,j;
float dominio[2];
float nuovo_punto, valore;
float point[200], value[200];
dominio[0]=0.0;
dominio[1]=PI;
fp=fopen("dati","r");
if(fp==NULL){
printf("Errore: impossibile aprire il file\n");
return 1;
}else{
i=0;
while(fscanf(fp,"%8.2f %8.2f",&nuovo_punto,&valore)!=EOF){
printf("%8.2f %8.2f\n",nuovo_punto,valore);
point[i]=nuovo_punto;
value[i]=valore;
i++;
}
fclose(fp);
fp=fopen("dati","w");
for(j=0;j<i;j++){
fprintf(fp,"%8.2f %8.2f\n",point[j]+PI,value[j]);
}
fclose(fp);
}
return 0;
}
Ultima modifica di Unrue : 08-05-2008 alle 16:53. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Perché fscanf() non ha bisogno di sapere la precisione del numero in virgola mobile che hai impostato, che invece serve a fprintf() per troncarlo o estenderlo durante la formattazione: provandolo a compilare con gcc qui mi avverte, con %8.2f, che sto passando un formato non valido, e mi dà questo warning:
Codice:
warning: unknown conversion type character '.' in format
ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6399
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Figurati.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Ah già dimenticavo! (
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:28.




















