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

C言語におけるfflush(stdin)の使い方と注意点

fflush(stdin)とは

C言語のfflush()関数は、指定されたストリームの出力バッファをフラッシュ(強制的に書き出す)するために使用されます。戻り値は、正常に終了した場合は0、失敗した場合はEOFとなり、その際にはストリームのエラー指示子(error indicator)がセットされます。

なお、標準C規格(ISO C)では、入力ストリームであるstdinに対してfflush()を呼び出した場合の動作は未定義とされています。ただし、Microsoft Visual C++など一部の処理系では、入力バッファをクリアする手段としてfflush(stdin)が拡張機能としてサポートされている点に注意が必要です。

構文

int fflush(FILE *stream);

サンプルコード

以下は、C言語におけるfflush(stdin)の使用例です。

#include <stdio.h>

int main() {
    char s[20] = "Helloworld";
    printf("The string : %s", s);
    fflush(stdin);
    return 0;
}

実行結果

The string : Helloworld

注意点

fflush(stdin)は標準規格上、動作が保証されていないため、移植性を重視するコードでは使用を避けるべきです。入力バッファに残った不要な文字をクリアしたい場合は、getchar()をループで呼び出して改行文字まで読み捨てる方法が一般的かつ安全な代替手段として推奨されます。

  1. ChromebookでSkypeを使う方法|インストールから便利な活用テクまで徹底解説

    Skypeは、インスタントメッセージのやり取りや音声通話、ビデオ会議に対応した定番のコミュニケーションプラットフォームです。スマートフォンやタブレット、ノートPC、スマートスピーカー、ゲーム機など幅広いデバイスで利用でき、Chromebookでも快適に動作します。 新しいChromebookを購入した方、古いノートパソコンをChromebook化した方、これからChrome OSに慣れていきたい方に向けて、この記事ではChromebookへのSkypeのインストール方法と基本的な使い方をわかりやすく解説します。 ChromebookにSkypeをダウンロード・インストールする Chr

  2. WindowsでPythonを使う方法|インストールから実行・モジュール導入まで完全解説

    初心者にも学びやすいプログラミング言語の代表格として、Pythonは世界中の何百万人ものコーダーに選ばれています。学習のハードルが低く、Windows・macOS・Linuxなど主要なOSすべてでサポートされており、Webサイト開発からデスクトップゲーム制作まで、幅広いプロジェクトに活用できるのが魅力です。 macOSやLinuxではPythonが最初からインストールされていることが多い一方、Windowsではいくつか追加の手順を踏む必要があります。この記事では、WindowsでPythonをインストールし、実際に使い始めるまでの流れをわかりやすく解説します。 WindowsへのPyt