Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想从(文本)文件中读取关键字列表,然后将它们添加到 C 中的 CString 数组中。问题是,我正在逐行读取文件,并且文件每行都包含一个单词。我可以成功填充数组,但是当我尝试在另一个字符串中查找这些关键字时,它返回 false,因为我猜测关键字末尾有\n 。
我可以读取文件的另一种方法是,使文本文件成为逗号分隔的文件,并读取一行并将其标记化。但是,我不知道如何读取大小可能非常大的行,因为关键字列表一直在扩展。
萨阿德·雷曼
如果您的问题是字符串末尾可能有一个流氓换行符,您可以使用:
size_t len = strlen (mystring); if (len > 0) if (mystring[len-1] == '\n') mystring[--len] = '\0';
mystring在您阅读它之后但在使用它之前执行此操作。
mystring
它只是检查最后一个字符是否是换行符,如果是,则将其替换为字符串终止符。
第一项检查是确保您不会在mystring[-1]会调用可怕的未定义行为的空字符串上尝试此操作。
mystring[-1]