C++;使用子字符串返回字符串中的元音 我是C++新手。我正在尝试创建一个函数,该函数接受字符串并只返回字符串中的元音。我需要使用子字符串来执行此操作。如果我使用一个只有1个元音的单词,函数将正确运行。。。然而,我已经测试了其他一些字符串,但它不起作用。你们有什么建议吗?非常感谢 #include <iostream> using namespace std; string vowel_search(string str) { string test = str; string result = ""; for (int i = 0; i < test.length(); i++) { if (str[i] == 'a' || str[i] == 'A'|| str[i] == 'e' || str[i] == 'E' || str[i]== 'i'|| str[i] == 'I' || str[i] == 'o' || str[i] == 'O' || str[i] == 'u' || str[i] == 'U') { result += test.substr(i, i); } } return result; } int main() { string strWord = "Aaron"; string str1 = vowel_search(strWord); cout << str1 << endl; // prints out: aon string strWord1 = "Harry"; string str2 = vowel_search(strWord1); cout << str2 << endl; //prints out: a -- Correct string strSentence = "Harry is Funny"; string str3 = vowel_search(strSentence); cout << str3 << endl; //prints out: ais Fununny return 0; } #包括 使用名称空间std; 字符串元音搜索(字符串str) { 字符串测试=str; 字符串结果=”; 对于(int i=0;i

C++;使用子字符串返回字符串中的元音 我是C++新手。我正在尝试创建一个函数,该函数接受字符串并只返回字符串中的元音。我需要使用子字符串来执行此操作。如果我使用一个只有1个元音的单词,函数将正确运行。。。然而,我已经测试了其他一些字符串,但它不起作用。你们有什么建议吗?非常感谢 #include <iostream> using namespace std; string vowel_search(string str) { string test = str; string result = ""; for (int i = 0; i < test.length(); i++) { if (str[i] == 'a' || str[i] == 'A'|| str[i] == 'e' || str[i] == 'E' || str[i]== 'i'|| str[i] == 'I' || str[i] == 'o' || str[i] == 'O' || str[i] == 'u' || str[i] == 'U') { result += test.substr(i, i); } } return result; } int main() { string strWord = "Aaron"; string str1 = vowel_search(strWord); cout << str1 << endl; // prints out: aon string strWord1 = "Harry"; string str2 = vowel_search(strWord1); cout << str2 << endl; //prints out: a -- Correct string strSentence = "Harry is Funny"; string str3 = vowel_search(strSentence); cout << str3 << endl; //prints out: ais Fununny return 0; } #包括 使用名称空间std; 字符串元音搜索(字符串str) { 字符串测试=str; 字符串结果=”; 对于(int i=0;i,c++,string,substring,C++,String,Substring,result+=test.substr(i,1); 将第二个i替换为1,1是要返回的字符数或长度result+=test.substr(i,1)用1Wow替换第二个i-哇-你真是个天才!它很管用!:)非常感谢!你能简单地解释一下1是如何工作的吗?再次感谢!难道y不被认为是元音吗?1是子串的长度。否则你每次都要取i个字符。为什么它会给出一些奇怪的输出我不太确定,巧合可能是我的价值观的一部分。发布解决方案作为答案来接受。@chnossos只是有时候,可能不是为了他的任务。非常感谢@Pinkfloy

result+=test.substr(i,1);


将第二个i替换为1,1是要返回的字符数或长度

result+=test.substr(i,1)
用1Wow替换第二个i-哇-你真是个天才!它很管用!:)非常感谢!你能简单地解释一下1是如何工作的吗?再次感谢!难道
y
不被认为是元音吗?1是子串的长度。否则你每次都要取i个字符。为什么它会给出一些奇怪的输出我不太确定,巧合可能是我的价值观的一部分。发布解决方案作为答案来接受。@chnossos只是有时候,可能不是为了他的任务。非常感谢@Pinkfloydx33!我已经将此标记为答案。我也会给你一些向上箭头,但我需要15的声誉来做这件事!我感谢你的帮助!