我的代码在法语和英语计算机之间的可移植性有问题实际上,英语使用点分隔双精度,就像法语使用逗号一样。
问题是我不能在法国电脑上读一个用英语写的数字(带点),因为它需要一个逗号。
做这件事的好方法是什么?
我想制作一个法文和英文档案,但我认为应该有更好的解决办法。
我对双精度曲线的代码实际上是:
errcd *= fscanf(file, "%lf\n", &N->biais1->l[i]);
最佳答案
你可以把数字读成一个字符串,然后把它转换成一个双。。。。
int n;
double N;
char dummy[100];
fscanf("%s",dummy);
for (n=0;n<100;n++)
{ /* here you need to make a conversion , to . (or . to ,) */
if (dummy[n]==',') dummy[n]='.';
if (dummy[n]==\0) break;
}
N = atof(dummy);