[C++] 如何反轉字串 (How to Invert A String in C++)

The Problem:Your job is, inverting an input string,

Sample Input:abcde
Output:edcba

Here is an example to solve this problem in C++:

#include <iostream>
#include <string.h>
#define MAX_SIZE 256
using namespace std;

int main(){
    char input[MAX_SIZE];

    cout << "Input a String to inverse: ";

    cin.getline(input,MAX_SIZE);
    int input_Size = strlen(input);

    cout << "Before String inverse: " << input;

    for(int i = 0;i < input_Size/2; i++){
        char temp;
        temp = *(input+(input_Size-i-1));
        *(input+(input_Size-i-1)) = *(input+i);
        *(input+i) = temp;
    }

    cout << "After String inverse: " << input;
    return 0;
}

[C++] 如何去除字串前後空白?

在PHP中,你可以使用「Trim」這個Function將字串前後的空白給去掉,但是在C++中可就沒這個函式啦,於是我們必須來手動來刻一下去掉字串前、後空白的函式。而在本程式中,將以C++為例,來介紹如何去除字串前、後的空白,舉例來說,如果你輸入的是「 coding is not easy… 」,那將會變成「coding is not easy…」,中間的空白還是會保留的。

而以下為去除空白的程式碼,如果有需要就拿去用吧!

string strLTrim(const string& str) 
{ 
    return str.substr(str.find_first_not_of(" \t\n\r\f\v")); 
}
string strRTrim(const string& str)
{
    return str.substr(0,str.find_last_not_of(" \t\n\r\f\v")+1);
}

string strTrim(const string& str)
{
    return strLTrim(strRTrim(str));
}