gpt4 book ai didi

c - 逐行读取字典文件需要带有大量空格的字符串

转载 作者:行者123 更新时间:2023-11-30 15:55:03 25 4
gpt4 key购买 nike

我正在逐行读取字典文件并获取每一行,然后将其与字符串进行比较。我的问题是我不知道如何在每行上动态分配字符串的长度以删除空格。当你看到我的代码后我会解释这一点:

FILE *f;
f = fopen("/usr/share/dict/words", "r");
if (f != NULL)
{
// maximum size of line, keep it at 128 just in case
char line[128] = "";

// run through every line of file
while (fgets(line, sizeof(line), f))
{
if (strcmp("hello", line) == 0)
printf("The string is %s!", line);
}
}

所以我必须初始化“line”变量以获取任何行的最大长度。只是如果该行小于该值 128,它只会在末尾添加空格,从而导致比较无效。我该如何改变这个?

最佳答案

不,它不会添加大量的空格,但 fgets 会将换行符留在缓冲区中。所以通常情况下你有一个尾随空白字符。通过修复它

int len = strlen(line);
if (line[len-1] == '\n') {
line[len-1] = 0;
}

关于c - 逐行读取字典文件需要带有大量空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12548496/

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