gpt4 book ai didi

c++ - 在 C++ 中反转字符串

转载 作者:行者123 更新时间:2023-11-30 05:45:54 25 4
gpt4 key购买 nike

我刚刚开始学习 C++,我试图创建一个使用函数来反转字符串的简单程序,但这是我的尝试,但它似乎没有用。它只是以正确的方式输出字符串。只是为了澄清,我不是在寻找内置函数或类似的东西,而是在寻找我的逻辑中的错误。如果它有一个功能,我很想知道。感谢您的帮助。

#include <iostream>
#include <string>

// A program to practice creating and calling a function to reverse a string


using namespace std;



//declaring the function before use
string reverseString(const string& input,string& output);



//main function
int main()
{
string userInputStr;

cout << "Please enter a string to be reversed: ";
getline(cin,userInputStr);
string reversedString = userInputStr;
reverseString(userInputStr, reversedString);

cout << userInputStr << " reversed is " << reversedString;

return 0;
}

string reverseString(const string& input, string& output)
{
char characterInString;
int counter;
int lengthOfString = input.length();


for (counter = 0; counter >= lengthOfString; counter++)
{
characterInString = input[(lengthOfString - counter)];
output = output + characterInString;
}
return output;


}

感谢所有提供帮助的人。对于那些感兴趣的人,我已设法修复的更新代码如下。我知道有更简单的方法可以做到这一点,但我只学习了几天,所以这只是使用我目前的方法明白了。

#include <iostream>
#include <string>

// A program to practice creating and calling a function to reverse a string


using namespace std;



//declaring the function before use
string reverseString(const string& input,string& output);



//main function
int main()
{
string userInputStr;

cout << "Please enter a string to be reversed: ";
getline(cin,userInputStr);
string reversedString = "";
reverseString(userInputStr, reversedString);

cout << userInputStr << " reversed is " << reversedString << endl;

return 0;
}

string reverseString(const string& input, string& output)
{
char characterInString;
int counter;
int lengthOfString = input.length();


for (counter = 0; counter < lengthOfString +1; counter++)
{
characterInString = input[(lengthOfString - counter)];
output = output + characterInString;
}
return output;


}

最佳答案

学习 C++ 也是为了学习语言和标准库可以为您做什么。例如,学习可以从两个迭代器构建一个字符串,并且存在反向迭代器:

string reversedString(userInputStr.rbegin(), userIntput.rend());

关于c++ - 在 C++ 中反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29183340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com