我正在逐行读取字典文件并取每一行,然后将其与字符串进行比较。我的问题是我不知道如何在每一行上动态分配字符串的长度以删除空格。看到我的代码后,我会解释这一点:
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);
}
}
所以我必须初始化“行”变量以获取任何行的最大长度。只是如果该行小于该值 128,它只会在末尾添加空格,从而导致无效比较。我该如何改变?