H.K.A2 Ответов: 1

Код не открывает txt-файл...


Я записал код, чтобы открыть txt-файл и ввести несколько данных, но файл Блокнота не открывается. это и есть код...

void cattywampus()
{
char str[30];
ifstream garbagein("notes.txt",ios::in);
ofstream fileout("vowel.txt",ios::out);
{   cout<<"Enter str";
cin>>str;
filein.getline(str,80,' ');
if(str[0]=='a'||str[0]=='e'||str[0]=='i'||str[0]=='o'||str[0]=='u')
cout<<str;
}
filein.close
fileout.close();
}

void main()
{
cattywampus();
}

What I have tried:

tried to save two notepad files as vowel and notes.txt

1 Ответов

Рейтинг:
2

OriginalGriff

Откуда вы знаете, что он не открывает файл?

Но прежде чем мы перейдем к этому, зачем вы это делаете:

cout<<"Enter str";
cin>>str;
filein.getline(str,80,' ');
Так как последняя строка будет перезаписывать то, что пользователь вводит во вторую?

Кроме того, вы создаете выходной поток:
ofstream fileout("vowel.txt",ios::out);
Но ты никогда ничего с ним не делаешь!

Начните с отступа вашего кода: это делает его более читабельным.
void cattywampus()
    {
    char str[30];
    ifstream garbagein("notes.txt",ios::in);
    ofstream fileout("vowel.txt",ios::out);
        {
        cout<<"Enter str";
        cin>>str;
        filein.getline(str,80,' ');
        if(str[0]=='a'||str[0]=='e'||str[0]=='i'||str[0]=='o'||str[0]=='u')
            {
            cout<<str;
            }
        }
    filein.close
    fileout.close();
    }

void main()
    {
    cattywampus();
    }
И как новичок, всегда используйте фигурные скобки после if, for, do, while, switch, или case - это делает жизнь намного проще позже, когда вы изменяете код!

И вернемся к вашей проблеме: откуда вы знаете? Предположительно потому, что ваш выходной файл не содержит никаких данных. Но есть две причины, почему это будет так:
1) Вы перезаписываете ввод пользователей, так что если это то, что вы ожидаете, чтобы контролировать его, то это часть того, почему!
2) Вы вообще не пишете в выходной файл.

Честно говоря, первое место, чтобы начать с любой проблемы, - это не спрашивать других, а искать информацию. А это означает, что мы должны смотреть на ваш код во время его выполнения, а мы не можем этого сделать. Так что все будет зависеть от тебя.
К счастью, у вас есть инструмент, который поможет вам выяснить, что происходит: отладчик. Как вы его используете, зависит от вашей компиляторной системы, но быстрый поиск в Google имени вашей IDE и "отладчика" должен дать вам необходимую информацию.

Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!