【发布时间】:2020-07-19 03:40:37
【问题描述】:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ofstream files;
files.open("FIRST.TXT");
string abc;
getline(cin, abc);
files << abc;
files.close();
ifstream fin;
fin.open("FIRST.TXT");
ofstream fout;
fout.open("SECOND.TXT");
char word[30];
while (!fin.eof())
{
fin >> word;
if (word[0] == 'a' || word[0] == 'e' || word[0] == 'i' || word[0] == 'o' || word[0] == 'u')
fout << word << " ";
cout << word << endl;
}
fin.close();
fout.close();
}
此代码将以元音字母开头的单词存储在另一个文件中,而不是我们从中读取数据的文件中。
char word[30] 如何获取确切的单词,eof() 是否工作空间到空间?
为什么循环检查单词而不是字符,或者它检查空格后的第一个字符,如果是,为什么?
【问题讨论】:
-
更改为
while (fin >> word)
标签: c++ file-handling eof