gpt4 book ai didi

c - 如何使用 sscanf 返回参数

转载 作者:太空宇宙 更新时间:2023-11-04 07:34:19 25 4
gpt4 key购买 nike

当时我正在从具有这种格式的文本文件中读取一行:2.34 4.68 5.98。我想将这些浮点值存储在一个数组中,以便以后可以使用每个参数,但是一旦我使用 sscanf 并尝试打印参数,我就会得到 0。知道问题出在哪里。谢谢。

    char* line[2000];
char* State[2000];
sscanf(line[12],"%f", &State[12]).
printf("\n state 1: %2.3f", &State[0]);// this suppose to print 2.34 but it prints 0

最佳答案

您可以一次扫描它们:

float state[3];
if(sscanf(line[12], "%f %f %f", &state[0],
&state[1], &state[2]) != 3) {
...
} else
printf("\n state1: %f, state2: %f, state3:%f",
state[0], state[1], state[2]);
}

此刻您正在扫描一个地方 (State[12]),并希望值存储在其他地方 (State[0])。

你还犯了一​​些错误:

  • 在应该存储到float 数组时存储到char * 数组
  • printf 需要获取实际值时使用指针
  • 使用 . 来结束语句...?不确定这是不是打字错误

关于c - 如何使用 sscanf 返回参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10335303/

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