こんにちは。Windows98環境でのC言語の質問です。
以前質問したタイトルの事について、良い回答を頂いたのですが、うれしさのあまり、自分で実行してみる前に締切ってしまい補足の質問をすることができなくなってしまったので、すいませんがここでさせて頂きたいと思います。
以前の質問内容に関しては、そちらを見ていただきたいと思います。
その時は、leaz024さんに良回答を頂いたので、その方法を試してみました。cscanfを使うと改行が行われない為、
(略)
printf("a= ");
cscanf("%d",&a);
printf("入力終了");
(略)
があったときに画面からa= の表示が消えてしまい、入力終了だけが表示されてしまいます。また、他にも問題があったので、二つ目の方法を実行してみたいと思いました。
>scanfの前に__flush_win95_keyup_events() を呼び出すことで回避できます。
ということなので、これを記述してみたのですが、(ソフトはMicrosoft Visual C++)次のようなエラーが出てしまいました。
C:\Windows\デスクトップ\R_and_wL\program.c(36) : warning C4013: 関数 '__flush_win95_keyup_events' は定義されていません。int 型の値を返す外部関数と見なします。
リンク中...
program.obj : error LNK2001: 外部シンボル "___flush_win95_keyup_events" は未解決です
Debug/R_and_wL.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
何かヘッダファイルをインクルードしなければならないのでしょうか?
以上なのですが、宜しくお願い致します。
また、他の解決策でも良いので宜しくお願い致します。
関連URL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=187990
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
leon-10さん、すみません、leaz024です。
まず、cscanf についてですが、この関数は少し癖があるんですよ。
例えば、数値入力時には、数字以外のキーが押された時点で入力が終了されてしまいます。
また、入力終了のために打った Enter で、カーソル位置を一番左に戻してしまうため、その後何かを表示すると、それまで表示していた内容の上に上書きされてしまいます。
(数字だけをたくさん入力すれば、「入力終了」が表示されても、入力した内容が残って見えるはずです。)
なので、特に getch による問題が起きないところなら、scanf を使った方が良いです。
それから、__flush_win95_keyup_events については、私の調べが足りませんでしたね、すみませんでした。
私は Borland C++ 5.5.1 for Win32 を使用しているので、VC++ はちょっと分からないんですよ^^;
ちなみに上記では、conio.h の中に __flush_win95_keyup_events が宣言されていました。
多分ドキュメントが書かれていると思うので、conio.h の中を読んでみてはどうでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Excel(エクセル) Excelで行削除をすると… 1 2023/07/26 11:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
scanfが2回使えない・・・?;
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
java初心者です。入力されたの...
-
"scanf"でエンターで改行させな...
-
if文の条件にscanf関数を使うと…?
-
2進数の1の数を数える問題
-
cout関数を使っているのですが...
-
プログラミングの問題で、キー...
-
プログラミングの問題です 「金...
-
scanf が無視されます
-
scanf関数について
-
C言語 逆ピラミッドの作り方
-
scanf("%s", buf);でスペースを...
-
Eclipseコンソール表示を、リセ...
-
VBでの日付入力値のフォーマッ...
-
enterでループ終了
-
UWSCで変数をキー入力
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
double型が正常に認識されてい...
-
プログラミング初心者です。 Py...
-
正負を反転させて出力するプロ...
-
Excel VBAで、Application.Inpu...
-
C言語について。
-
batプログラム上で文字列を入力...
-
*をユーザーが入力した数字の数...
-
cout関数を使っているのですが...
-
漢字のソートについて
-
数字以外が入力されたらエラー...
-
Userformの入力順序をタブオー...
-
ワードで文字を入力する時の変...
-
Linuxで入力待ちなしkeyread関...
-
java初心者です。入力されたの...
-
EDITコントロールで入力できる...
-
Eclipseコンソール表示を、リセ...
-
小数か整数かを判定する方法
-
C言語scanf_sで何故か2回入力に...
-
VB.NETで16進数+16進数や16進...
-
Linuxプログラミングで、キーボ...
おすすめ情報