A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
kbhit()相当の関数を作ればいいのですが...
こちらをよく読むと参考になるかもしれません。
http://www.nishimoto-site.net/archiver/fj/os/lin …
参考URL:http://www.nishimoto-site.net/archiver/fj/os/lin …
No.5
- 回答日時:
再びNo.4です。
前の回答中に書いたCBREAKモードは、Enterキーの入力を
待たずにキー入力を行う機能でした。
今回は関係ありませんので、無視して下さい。
No.4
- 回答日時:
一般的には、マルチスレッドにする必要は無いと思います。
No.1さんのご指摘通り、ioctl()を使ってrawモード(CBREAKモードというのもあったような気が...)
にすれば、getchar()が直ちに-1を返すようにできると思います。
ただ、お使いのUNIXやデバイスによって、制約はあるかもしれません。
No.3
- 回答日時:
イマイチ意味が分からないのですが。
。。consio.hのgetch、getche辺りの話をしてるのかな?
それとも入力待ち時間中も別処理をしたいって事ですかね?
そうなると通常のProgramでは一本の動きしか出来ませんよ。
あくまで【通常】ですけどね。
入力待ちの時に別処理をしたいのであれば、プロセス管理とかしないと無理かなぁ…
プロセス管理を行って、処理Aをさせている最中に処理Bするって事になるとforkとか....
この回答への補足
実行が停止しないgetcharみたいな関数とは
windowsのconsio.hのgetchとかのことです
うろ覚えであいまいな書き方になってました…
例えばシューティングゲームを作るとしたら、
プレイヤーが何にも入力してなくても
ゲームの処理は実行されてなければなりません。
でも、C言語標準のgetchar関数では
入力が終了するまでプログラムの実行が
停止されてしまうので、
そうならない関数や方法を探してるのです。
あと、forkとかできれば使いたくはないのですが…
一つのプログラムだけでできないのでしょうか…
No.2
- 回答日時:
原始的な方法ですと…
プログラムA(実際の処理)
ファイル"test.txt"を開く。
ファイルに文字が入力されていれば何らかの処理を行い、空のファイルを上書きする。
ファイルを閉じる。
リアルタイムの処理を実施。
繰り返し。
プログラムB(入力処理)
getcharで入力を待つ。
入力を受け付けたらファイル"test.txt"を開いて何か書き込む。
繰り返し。
の2本立てで動作するとか。
(上の仕様だとイロイロ問題が起きて、それはそれで面白いのですが…)
--
最近の普通の方法ですと、マルチスレッドとか、スレッド同期とか、そういうキーワードで情報収集してみては?
回答ありがとうございます。
複数のプログラムを一度に実行するつもりもなく
マルチスレッド等を用いるつもりもありませんでしたが
こういう方法も試してみようと思います。
No.1
- 回答日時:
はじめまして。
Linuxに関してしか知らないので、その点はご了承ください。
Googleで「stty」、「Linux」、「rawモード」をキーワードにして検索したところ、参考URLのページを見つけました。
MLの過去ログですので、その前後を参照していただければ、もう少し詳細が分かるかもしれません。
・・・と、最近こればっかりですので、もう少し。
「Linux システムコール」(塚越 一雄 著/技術評論社 ISBN4-7741-1031-0)という本があるのですが、この本にも関連する話題が載っています。
システムコールについて書かれた本なのですが、私が手に取った本の中では、一番読みやすくまとめられていました。
他の情報源としては、JFやJMが挙げられるかと思います。
日本語で情報を得ることができるので便利です。
JF → http://www.linux.or.jp/JF/
JM → http://www.linux.or.jp/JM/
長文・駄文、失礼致しました。
参考URL:http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~po …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# c言語について array[i]-‘0’ これってどーゆー意味ですか? (ちなみに16進数を10進数 5 2022/12/06 18:39
- Windows 10 なぜか全角カタカナ入力になってしまう (USキーボード、「Alt」 + 「`」) 1 2022/06/29 13:22
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DoEvents関数って何?
-
キャッシュを意識したプログラ...
-
小数点を含む数値かどうか判断...
-
Chat GPTに、課題として、二と...
-
プログラム上のCPU稼働率低減に...
-
6x6ぼかしマスクをかけるプログ...
-
If Not c Is Nothing Then ~延...
-
エクセルVBAをマスターしたい
-
Excel VBAにて、2GB超の点群デ...
-
複数のファイルを読み込むバッ...
-
DLLで初回呼び出しと最後の...
-
ソートにかかった時間を測りたい。
-
Excelでのセル内容の高速消去方法
-
C言語 再帰処理のメリットとデ...
-
スーパーコンピューター 2位で...
-
LISPで・・・
-
テキスト処理の速度の速い言語
-
win10で、正確な待ち時間の作り方
-
フォートランプログラムの計算...
-
pgmファイルをC言語で読込、処...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでのセル内容の高速消去方法
-
DoEvents関数って何?
-
win10で、正確な待ち時間の作り方
-
小数点を含む数値かどうか判断...
-
Excel VBAにて、2GB超の点群デ...
-
SQLの速度をあげるには・・・
-
絶対パスの取得について
-
WebBrowserの読み込み待ちの処...
-
プログラム上のCPU稼働率低減に...
-
C言語 再帰処理のメリットとデ...
-
テキストファイルの空行をスキ...
-
実行時のCPU使用率を増やしたい
-
C言語 時刻差分の算出方法
-
Excel VBA データ削除の高速化
-
VBでの簡易電卓の作成(減算方...
-
Excel(VBA)でSetTimer関数を使...
-
プログラミングの授業でPython...
-
If Not c Is Nothing Then ~延...
-
C言語で、文字とか入力されなく...
-
C言語:関数を使うメリットとデ...
おすすめ情報