读取CR终止的关键字文本文件

时间:2011-09-08 12:58:37

标签: c file-io strstr

我想从(文本)文件中读取一个关键字列表,然后在C中添加CString数组中的那些关键字。麻烦的是,我逐行读取文件,并且每个文件都包含一个单词线。我可以成功填充数组,但是当我尝试在另一个字符串中查找这些关键字时,它返回false,因为我猜测关键字最后有 \ n

我可以读取文件的另一种方法是,使文本文件成为逗号分隔文件,并读取一行并对其进行标记。但是,我不知道如何读取一个大小非常大的行,因为关键字列表不断扩展。

Saad Rehman

1 个答案:

答案 0 :(得分:0)

如果你的问题是字符串最后可能有一个流氓换行符,你可以使用:

size_t len = strlen (mystring);
if (len > 0)
    if (mystring[len-1] == '\n')
        mystring[--len] = '\0';

在您阅读之后但在使用它之前,请对mystring执行此操作。

它只是检查最后一个字符是否是换行符,如果是,则用字符串终止符替换它。

第一项检查是为了确保你不会在mystring[-1]调用可怕的未定义行为的空字符串上尝试此操作。