Я создаю программу, которая следует определенным правилам, чтобы привести к подсчету слов, слогов и предложений в данном текстовом файле.getchar() и подсчет предложений и слов в C
Предложение представляет собой набор слов, разделенных пробелами, который заканчивается символом a. или ! или ? Однако, это также предложение:
Greetings, earthlings..
Путь я подошел к этой программе является сканирование через текстовый файл по одному символу за раз, используя GetChar(). Мне запрещено работать со всем текстовым файлом в памяти, это должен быть один символ или слово за раз.
Вот моя дилемма: используя getchar(), я могу узнать, что такое текущий символ. Я просто продолжаю использовать getchar() в цикле, пока не найдет символ EOF. Но, если предложение имеет несколько периодов в конце, это все равно одно предложение. Это означает, что мне нужно знать, что было последним персонажем перед тем, что я анализирую, и тот, который после него. По моему мнению, это будет означать другой вызов getchar(), но это создаст проблемы, когда я перейду к сканированию в следующем символе (его теперь пропустили символ).
Есть ли у кого-нибудь предложение относительно того, как я мог определить, что приведенное выше предложение действительно является предложением?
Спасибо, и если вам нужно уточнение или что-то еще, сообщите мне.
Это отличная идея, спасибо большое. Я точно понимаю, что вы имеете в виду, я удивлен, что не думал об этом. Благодаря! – Blackbinary
Я также предлагаю вам читать в блоках символов либо по строке, либо по количеству. В общем, чтение из памяти происходит быстрее и обычно проще отлаживать (вы можете видеть прошлые и будущие буквы). –