文字列を入力として受け取り、エンコードされた文字列を返すプログラムを書きたいと思います。エンコードされた文字列は、元の文字列に存在する各文字が固定された数だけシフトされた文字列になります。例えば。文字列内の各文字が 2 桁シフトされているとします。したがって、ユーザーが「abcd」と入力すると、出力は「cdef」になります。
文字列全体を入力として取得し、各文字を処理して最終的な出力文字列を生成することで、それを行うことができます。
しかし、私が望むのは、ユーザーが文字を入力するとすぐに、元の形式ではなく、エンコードされた形式で表示されることです。
単一の文字に対して次のコードを試しました。
char r;
scanf("%c",&r);
printf("\b%c",r+2);
ただし、ユーザーは入力した文字を引き続き表示できます。「Enter」を押さないと、エンコードされた文字が表示されません。どうすればこれを修正できますか? キャラクターを取得するために別の関数を使用している可能性がありますか?どんな助けでも感謝します。