Я работаю над автоматической системой суммирования в своем классе C++ и задаю вопрос относительно одного из сопоставлений ASCII, которые я делаю. Вот код:Что означает -1 в ASCII?
char ch;
string sentence;
pair<char, char> sentenceCheck;
int counter = 0;
while (!ifs2.eof())
{
ch = ifs2.get();
ch = tolower(ch);
if (ch == 13)
ch = ifs2.get();
if (ch != 10 && ch != '?' && ch != '!' && ch != '.')
sentence += ch;
sentenceCheck.first = sentenceCheck.second;
sentenceCheck.second = ch;
cout << sentenceCheck.first << "-" << (int)sentenceCheck.first << " ---- " << sentenceCheck.second << "-" << (int)sentenceCheck.second << endl;
if(sentenceCheck.second == ' ' || sentenceCheck.second == 10 || sentenceCheck.second == -1)
{
if(sentenceCheck.first == '?' || sentenceCheck.first == '!' || sentenceCheck.first == '.')
{
istringstream s(sentence);
while(s >> wordInSentence)
{
sentenceWordMap.insert(pair<string, int>(wordInSentence, 0));
}
//sentenceList.push_back(pair<string, int>(sentence, 0));
sentence.clear();
}
}
}
Что делается здесь (с два, если заявления) проверяет, был ли новое предложение начато в тексте, который должен быть проанализирован и рассмотрен позднее. Условные работы работают, но только потому, что мы обнаружили, что мы должны также проверить это на -1. Любые идеи, что это представляет?
ASCII, не распространяются это только 7 бит http://www.asciitable.com/ – kenny
You должен использовать if (! ifs2), который проверяет режимы сбоя _and_ EOF. –
Кроме того, в будущем большинство калькуляторов имеют режим программистов (по крайней мере, Windows, Mac, GNOME и KDE). Я думаю, что все они имеют какую-то кнопку «Показать в ASCII». – Linuxios