Я пытаюсь перейти от 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. Я могу обойти это, если нет.
Спасибо всем, кто может объяснить мне, как работают потоки и что с ними возможно.