如果该单词不包含元音,我正在尝试将单词复制到文件中。这是我的尝试,但它不起作用。它将单词复制到文件中,但不排除带有元音的单词。我不确定为什么它会输出它所做的事情......
#include <iostream>
#include <string>
#include <sstream>
#include <cctype>
#include <fstream>
#include <vector>
template <typename It>
bool has_vowel(It begin, It end)
{
for (auto it = begin; it != end; ++it)
{
char lower = std::tolower(*it);
if (lower == 'a' || lower == 'e' ||
lower == 'i' || lower == 'o' || lower == 'u')
return true;
}
return false;
}
int main()
{
std::fstream in("in.txt");
std::fstream out("out.txt");
std::vector<std::string> v;
std::string str;
while (in >> str)
{
v.push_back(str);
}
for (auto it = v.begin(); it != v.end(); ++it)
{
if (!has_vowel(it->begin(), it->end()))
out << *it << " ";
}
}
在.txt
你好我的朋友和家人
输出到 out.txt
我的朋友和家人