gpt4 book ai didi

c - 需要将 c 中文件中的值转换为 int/float

转载 作者:行者123 更新时间:2023-11-30 18:42:36 25 4
gpt4 key购买 nike

我有一个 txt 文件,其中包含以下数据:

5
676.54
6453.22
7576.776
8732.2
6

我需要在 C 程序中逐行读取文件。但无论我使用什么方法读取文件,我都会得到字符串形式的值。我需要获取 int 和 float 类型的值(取决于值)。我有什么办法可以做到这一点吗?运行平台为linux。

最佳答案

使用 fscanf()

FILE* f = fopen(name, mode);
float d;
fscanf(f, "%f\n", &d);

但这总是会给你 float (使用 %lf 表示 double )。

如果你想知道格式是什么,可以将一行读取为字符串,然后使用 strtod() 尝试首先将其读取为 int 并查看使用了多少字符串(如果全部使用,则为 int),然后strtod() 以 double 形式读取。

关于c - 需要将 c 中文件中的值转换为 int/float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15929062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com