gpt4 book ai didi

C++ - 尝试使用字符串函数来反转输入字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:22:39 25 4
gpt4 key购买 nike

作为家庭作业的一部分,我需要能够获取输入字符串并使用字符串函数列表以多种方式对其进行操作。第一个函数接受一个字符串并使用 for 循环反转它。这就是我所拥有的:

#include <iostream>
#include <string>

namespace hw06
{
typedef std::string::size_type size_type;

//reverse function
std::string reverse( const std::string str );

}


// Program execution begins here.

int main()
{
std::string inputStr;

std::cout << "Enter a string: ";
std::getline( std::cin, inputStr );


std::cout << "Reversed: " << hw06::reverse( inputStr )
<< std::endl;


return 0;
}


//reverse function definition

std::string hw06::reverse( const std::string str )
{

std::string reverseStr = "";
//i starts as the last digit in the input. It outputs its current
//character to the return value "tempStr", then goes down the line
//adding whatever character it finds until it reaches position 0
for( size_type i = (str.size() - 1); (i >= 0); --i ){
reverseStr += str.at( i );
}
return reverseStr;
}

程序要求输入,然后返回这个错误:

terminate called after throwing an instance of 'std::out_of_range' what(): basic_string::tat

我真的不知道我在这里做错了什么。循环对我来说似乎是正确的,所以我是否误解了如何引用该函数?

最佳答案

除非你真的写一个循环,否则做类似这样的事情可能更容易:

std::string reverse(std::string const &input) { 
return std::string(input.rbegin(), input.rend());
}

关于C++ - 尝试使用字符串函数来反转输入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15800200/

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