gpt4 book ai didi

c - 从 char 数组中获取值

转载 作者:太空宇宙 更新时间:2023-11-04 08:41:16 29 4
gpt4 key购买 nike

FILE *t;
t = fopen(argv[8], "r");
fgets(tmp, 2048, t);

我在每一行读到的是像这样的“l 23 23”,一个字母和一些数字(整数或 float )取决于天气“l”是“a”“b”或“c”。

我试过但无法将 tmp[0] 与字母进行比较。

tmp[0] =="t"

我确定“t”存在于文件中,但它总是给出 false

如何比较它并提取后面的数字?

PS:根据 tmp[0] 的值,我知道每一行需要多少数字和什么类型。

最佳答案

如果要将 tmp 中的第一个字符与字符 'x' 进行比较,则使用:

if (tmp[0] == 'x')
{
...
}

如果要将 tmp 中的整个字符串与字符串 "xyz" 进行比较,请使用:

if (strcmp(tmp,"xyz") == 0)
{
...
}

幕后花絮:

  • 当您在代码中使用双引号字符串时,编译器会将其替换为指向内存空间开头的指针,字符串在运行时将驻留在该内存空间中。
  • 因此,通过 tmp[0] == "t",您实际上是在尝试将单个字符(通常为 8 位数据)与内存地址(通常为 32 或 64 位数据)进行比较,取决于您的系统)。

关于c - 从 char 数组中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23449032/

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