将 char 数组转换为 double
Convert char array into double
我试过这个:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
FILE *txt1;
char tam[13];
char tam1[13];
char tam2[13];
txt1 = fopen("C:/Users/Hugo/Documents/C/in2.txt","r");
if(txt1 == NULL)
{
printf("No se puede leer el archivo");
return 0;
}
fgets(tam1,sizeof(tam1), txt1);
double c = atof(tam1);
printf("%f",c);
当我调试时:tam1
是“3.1415926535”但是它打印出这个:
0.000000
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *txt1;
char tam[13];
char tam1[13];
char tam2[13];
txt1 = fopen("99.c","r");
if(txt1 == NULL)
{
printf("No se puede leer el archivo");
return 0;
}
fgets(tam1,sizeof(tam1), txt1);
double c = atof(tam1);
printf("%f",c);// change from c
}
o/p:
rabi@rabi-VirtualBox:~/rabi/c$ ./a.out
3.141593rabi@rabi-VirtualBox:~/rabi/c$ vi 4.c
我试过这个:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
FILE *txt1;
char tam[13];
char tam1[13];
char tam2[13];
txt1 = fopen("C:/Users/Hugo/Documents/C/in2.txt","r");
if(txt1 == NULL)
{
printf("No se puede leer el archivo");
return 0;
}
fgets(tam1,sizeof(tam1), txt1);
double c = atof(tam1);
printf("%f",c);
当我调试时:tam1
是“3.1415926535”但是它打印出这个:
0.000000
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *txt1;
char tam[13];
char tam1[13];
char tam2[13];
txt1 = fopen("99.c","r");
if(txt1 == NULL)
{
printf("No se puede leer el archivo");
return 0;
}
fgets(tam1,sizeof(tam1), txt1);
double c = atof(tam1);
printf("%f",c);// change from c
}
o/p:
rabi@rabi-VirtualBox:~/rabi/c$ ./a.out
3.141593rabi@rabi-VirtualBox:~/rabi/c$ vi 4.c