Чтение CR прекращенного текстового файла ключевого слова - PullRequest
0 голосов
/ 08 сентября 2011

Я хочу прочитать список ключевых слов из (текстового) файла, а затем добавить их в массив CString на языке C. Проблема в том, что я читаю файл построчно, и файл содержит одно слово в каждом линия. Я могу успешно заполнить массив, но когда я пытаюсь найти эти ключевые слова в другой строке, он возвращает false, потому что я предполагаю, что ключевое слово имеет \ n в конце.

Другой способ, которым я мог бы прочитать файл, - сделать текстовый файл запятым, прочитать одну строку и токенизировать его. Но тогда я не буду знать, как прочитать строку, размер которой может быть ОЧЕНЬ большим, так как список ключевых слов постоянно расширяется.

Саад Рехман

1 Ответ

0 голосов
/ 08 сентября 2011

Если ваша проблема заключается в том, что в конце строки может содержаться мошенническая новая строка, вы можете использовать:

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

Сделайте это для mystring после того, как вы прочитали ее, но перед тем, как использовать.

Он просто проверяет, является ли последний символ новой строкой, и, если так, заменяет его символом конца строки.

Первая проверка состоит в том, чтобы убедиться, что вы не пробуете это на пустом месте.строка где mystring[-1] будет вызывать ужасное неопределенное поведение.

...