gpt4 book ai didi

c - fgets() 中的数组大小

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

我正在使用 fgets 读取行格式的 .txt 文件。我传递一个数组作为第一个参数。不同的行填充数组中不同的空间量,但我想知道读取的行的确切长度并据此做出决定。可能吗?

FILE * old;
old = fopen("m2p1.txt","r");
char third[100];
fgets(third,sizeof(third),old);

现在,如果我要求 sizeof(third),它显然是 100,因为我自己这样声明(我不能在不指定大小的情况下声明“第三”数组)但我需要从文件中读取行的确切大小(如它可能不会填充 entre 数组)。

这可能吗?应该怎么办?

最佳答案

如果 fgets 成功,它会将一个字符串读入您的缓冲区。使用 strlen() 找到它的长度。

char third[100];

if(fgets(third,sizeof(third),old) != NULL) {
size_t len = strlen(third);
..
}

关于c - fgets() 中的数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5020832/

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