C++のポインタを使って文字列を反転表示する方法
本記事では、C++のポインタを利用して文字列を反転して表示する方法を解説します。まず、strlen()関数で文字列の長さを取得し、その長さから逆順にループ処理を行うことで、元の文字列を後ろから1文字ずつ出力していきます。
サンプルコード
#include <string.h>
#include <iostream>
using namespace std;
int main(){
char *str="ajaykumar";
cout<<"original string::"<<str;
cout<<endl<<"String after reverse::";
for(int i=(strlen(str)-1);i>=0;i--){
cout<<str[i];
}
return 0;
}このプログラムでは、char型のポインタstrに文字列「ajaykumar」を格納しています。その後、strlen(str)-1で文字列の最後のインデックス(ヌル文字を除く)を求め、forループでインデックスを減算しながら先頭まで逆順にアクセスすることで、反転した文字列を出力します。
実行結果
Original string::ajaykumar String after reverse::ramukyaja
実行すると、元の文字列「ajaykumar」が逆順に並べ替えられた「ramukyaja」が出力されます。このように、ポインタとインデックス操作を組み合わせることで、配列として扱える文字列を簡単に反転表示できます。
-
C++で文字列の部分文字列の総数を求める方法を解説
この記事では、与えられた文字列から作成できる空でない部分文字列の個数を求める方法について解説します。入力 : string = "moon" 出力 : 10 説明 : 部分文字列は m、o、o、n、mo、oo、on、moo、oon、moon の 10 個です。 入力 : string = "yellow" 出力 : 21解法のアプローチ文字列の長さを n とします。上の例からも分かるように、考えられるすべての部分文字列の個数を求めるには、長さ n、(n-1)、(n-2)、(n-3)、……2、1 の部分文字列の個数を順に加算していく必要があります。部分文
-
クライアントサーバーモデルを用いたC/C++による文字列反転の実装方法
本記事では、クライアントとサーバーで構成されるシステムを作成する方法を解説します。クライアントが文字列をサーバーへ送信すると、サーバーがその文字列を反転(リバース)し、結果をクライアントに返却するという仕組みです。ソケットプログラミングの基本このシステムではソケットプログラミングの概念を利用します。クライアントとサーバー間の接続を確立するためには、ポートを作成する必要があります。ポート番号はソケットが使用できる任意の数値であり、接続を確立するにはクライアントとサーバーの両方で同じポート番号を使用しなければなりません。今回は例としてポート番号 4000 を使用します。コンパイルと実行の手順プログ