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 и "отладчика" должен дать вам необходимую информацию.
Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.
Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!