Я пытаюсь перейти от stdio к iostream, что очень сложно.У меня есть основы загрузки файла и его закрытия, но я действительно не знаю, что это за поток, и как он работает.
В stdio все относительно просто и понятно.вперед по сравнению с этим.Что мне нужно сделать, это
- Чтение одного символа из текстового файла.
- Вызов функции в зависимости от того, что это за символ.
- Повторпока я не прочитаю все символы в файле.
Пока у меня есть ... не так много:
int main()
{
std::ifstream("sometextfile.txt", std::ios::in);
// this is SUPPOSED to be the while loop for reading. I got here and realized I have
//no idea how to even read a file
while()
{
}
return 0;
}
Что мне нужно знать, так это как получитьодин символ и как этот символ на самом деле хранится (это строка? int? char? Могу ли я решить для себя, как его хранить?)
Как только я узнаю, что я могу справиться с остальными,Я сохраню персонажа в соответствующем контейнере, а затем использую переключатель для выполнения действий, основанных на том, чем на самом деле является этот персонаж.Это выглядело бы примерно так.
int main()
{
std::ifstream textFile("sometextfile.txt", std::ios::in);
while(..able to read?)
{
char/int/string readItem;
//this is where the fstream would get the character and I assume stick it into readItem?
switch(readItem)
{
case 1:
//dosomething
break;
case ' ':
//dosomething etc etc
break;
case '\n':
}
}
return 0;
}
Обратите внимание, что мне нужно иметь возможность проверять наличие пробелов и новых строк, надеюсь, это возможно.Также было бы удобно, если бы вместо одного универсального контейнера я мог хранить числа в int и char в char.Я могу обойти это, если нет.
Спасибо всем, кто может объяснить мне, как работают потоки и что с ними возможно.