c - 读取以 CR 结尾的关键字文本文件

标签 c file-io strstr

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

我可以读取该文件的另一种方法是,使文本文件成为逗号分隔的文件,然后读取一行并将其标记化。但是,我不知道如何读取尺寸可能非常大的行,因为关键字列表不断扩展。

萨阿德·雷曼

最佳答案

如果您的问题是字符串末尾可能有恶意换行符,您可以使用:

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

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

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

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

关于c - 读取以 CR 结尾的关键字文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7348406/

相关文章:

c - C语言逐行查找文件中的单词

c - 搜索文件时发生访问冲突

c - strstr C函数运行异常

c - 用于存储立即字符串的内存 session ,在 C 中

c# - 使用C#从文本文件中读取最后一个符号

java - 遇到这段代码,我想知道为什么需要这个静态辅助方法?

java - 是否可以从小程序读取/写入文件

c - 如何在c中分割数组?

无法转换为指针类型,转换结构

c - IAR Expression 预期表达式