各位老师,如何将下面代码中的char *t 转化成double类型呢?
各位老师,如何将下面代码中的char *t 转化成double类型呢?谢谢了#include <stdio.h>
#include <string.h>
int main()
{
char Result = {0};
char *t;
int j = 1;
//读取文件
FILE *fp = fopen("y:\\data.txt", "rb");
fread(Result, 1024, 1, fp);
fclose(fp);
//将换行符替换为分割文本的制表符
for (int i = 0; i < 1024; i++)
{
if (Result=='\r' && Result == '\n')
{
Result = '\t';
Result = '\t';
}
}
t = strtok(Result, "\t");
while (t)
{
t = strtok(NULL, "\t");
j++;
if (j==95 && t!=NULL)
{
printf("第%d组:%s", j, t);
}
}
getchar();
return 0;
} strtod和atof等应该行吧 还有sprintf啊 无闻无问 发表于 2022-1-29 11:18
strtod和atof等应该行吧
老师,atof不行呢?
double t1 = atof(t);
printf("%.0f\n", t1); sscanf呢? 无闻无问 发表于 2022-1-29 14:23
sscanf呢?
老师,如何写呢?谢谢了
不会C语言,类型转换的话,char运算时会转换为int,int可以隐式转换为double,也就是t*1.0结果为double类型,不知道c语言是否可以。 欢都洛兰 发表于 2022-1-29 15:08
不会C语言,类型转换的话,char运算时会转换为int,int可以隐式转换为double,也就是t*1.0结果为double类型 ...
老师,不行,谢谢了 #include <iostream>
int main()
{
const char* s = "1.23";
double d1 = atof(s);
double d2 = std::stod(s);
std::cout << d1 << ' ' << d2 << std::endl;
return 0;
} ryosga 发表于 2022-1-29 18:16
#include
int main()
老师,不能用于上面的案例中,谢谢了
页:
[1]