C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++で改行を待たずに、標準入力から文字を読み取ります


これを行うためのポータブルソリューションは存在しません。 Windowsでは、conio(Console I / O)ライブラリのgetch()関数を使用して、文字を押すことができます。

#include<iostream>
#include<conio.h>
using namespace std;
int main() {
    char c;
    while(1){ // infinite loop
        c = getch();
        cout << c;
    }
}

これにより、端末に入力した文字がすべて出力されます。 conioライブラリはWindowsにのみ存在するため、これはWindowsでのみ機能することに注意してください。 UNIXでは、システムrawモードに入るとこれを実現できます。

#include<iostream>
#include<stdio.h>
int main() {
    char c;
   // Set the terminal to raw mode
    system("stty raw");
    while(1) {
        c = getchar();
        // terminate when "." is pressed
        if(c == '.') {
            system("stty cooked");
            exit(0);
        }  
        std::cout << c << " was pressed."<< std::endl;
    }
}

  1. C++でヘッドポインタなしでリンクリストからノードを削除します

    このチュートリアルでは、単一リンクリスト内のヘッドポインタなしでノードを削除する方法を学習します。 問題を解決するための手順を見てみましょう。 データと次のポインタを使用して構造体を記述します。 ノードを単一リンクリストに挿入する関数を記述します。 ダミーデータを使用して、単一リンクリストを初期化します。 次のポインタを使用して、リンクリストからノードを取得します。 削除ノードを次のノードに移動します。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; struct Nod

  2. C++でL={a bm a(n + m)-n、m≥1}のチューリングマシンを構築します

    チューリングマシン −チューリングマシンは、タイプ0の文法によって生成された言語の単語を受け入れるために使用されるデバイスです。チューリングマシン(TM)は、入力が与えられるセルに分割された無限の長さのテープで構成される数学モデルです。入力テープを読み取るヘッドで構成されています。状態レジスタには、チューリングマシンの状態が格納されます。入力シンボルを読み取った後、別のシンボルに置き換えられ、内部状態が変更され、1つのセルから右または左に移動します。 TMが最終状態に達すると、入力文字列が受け入れられます。それ以外の場合は拒否されます。 TMは、正式には7タプル(Q、X、Σ、δ、q0、B、F