我在这里遇到了我的程序,它从文本文件中读取数据,但它没有获得浮动部分作为浮点数。 它从我的.txt文件读取后打印43.00而不是43.23。 我哪里做错了?
dir[k].age=atol(strtok(NULL,","));
dir[k].weight=atol(strtok(NULL,","));
dir[k].height=atol(strtok(NULL,"\n"));
答案 0 :(得分:4)
答案 1 :(得分:3)
dir[k].weight=atol(strtok(NULL,","));
dir[k].height=atol(strtok(NULL,"\n"));
您正在使用转换为整数的函数,因此不知道如何处理小数部分。相反,使用strtof
,与ato*
函数相比,甚至可以进行错误检查。
答案 2 :(得分:1)
下面:
dir[k].weight=atol(strtok(NULL,","));
dir[k].height=atol(strtok(NULL,"\n"));
您正在阅读值