A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
コンパイルもコードチェックも何もしてないので、動くかどうかわかりませんが、雰囲気はこんな感じです。
main()関数で無限ループし、スレッド(thd_func())で無限ループを抜けるか(main()を終了させるか)チェックするという単純なものです。
UNIX(LINUX)系のCでスレッド生成方法知らないので、Windows系で書きました。Windows系のスレッド生成方法は参考URLを見てください。
これで分かります??
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <proccess.h>
#ifdef TRUE
#define TRUE 1
#endif
#ifdef FALSE
#define FALSE 0
#endif
void thd_func(void);
void main(){
int isLoop;
isLoop = TRUE;
_beginthread(thd_func, 0, (void *)&isLoop);
while (g_isLoop == TRUE) {
<<何か処理をいれる>>
}
}
void thd_func(void *p_isLoop) {
char inp[256];
do {
scanf("%s", inp);
} while(strcmp(inp, "END") != 0);
*p_isLoop = FALSE;
_endthread();
}
参考URL:http://msdn.microsoft.com/library/ja/default.asp …
No.3
- 回答日時:
マルチスレッドを使うような感じで作るプログラムですか?
1)スレッドを2つ(A,B)実行。
2)スレッドAでは、ひたすら何かをする(無限ループにならない程度)。
3)スレッドBでは、ループ関数を使って"END"が入力されるまで待つ。
4)スレッドBで"END"入力確認にて、スレッドAに終了指令を出す。
5)スレッドAのループ脱出条件は、スレッドBからの終了指令。
こんな感じ?
No.2
- 回答日時:
こんなイメージですか?
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define COMMAND_STRING_SIZE6
typedef void (*func)(void);
typedef struct {
charcommandString[COMMAND_STRING_SIZE];
funccommandFunction;
} FUNCTIONMENU;
void func1(void){puts("hogeです。");}
void func2(void){puts("fugaです。");}
FUNCTIONMENUmenuTable[] = {
{"hoge",func1},
{"fuga",func2},
{"quit",NULL},
{NULL,NULL}
};
void main(void)
{
char buffer[100];
int i=0;
buffer[0] = '\0';
while(1){
/* キー入力をバッファに保存する。*/
while(kbhit()){
gets(buffer);
break;
}
/* 保存したバッファの中身で、実行すべき処理を選ぶ。*/
if( strlen(buffer) ){
for(i=0; NULL!=menuTable[i].commandString[0]; i++){
if(0 == strcmp(buffer, menuTable[i].commandString) ){
if( 0 == strcmp("quit",buffer) )
goto END;
else{
menuTable[i].commandFunction();
buffer[0] = '\0';
break;
}
}
}
}
/* -- キー入力に関係なく、常に実行したい処理はこちらに書く。-- */
/* ------------------------------------------------------------ */
}/* end of while(1) */
END:
return;
}
動作確認図済みですが、質問者さんのレベルをまったく考慮せず、玄人好みに作ってしまいました。申し訳ありません。
この回答への補足
お早いお返事有難うございます。
このようにプログラムを書いてみた所、<conio.h>が
無いとなりました。これを調べたところ、windowsOSで
出来ないみたいです。こちらでは、LinuxOSを仕様して
います。
その点を踏まえていい案はありませんか?
No.1
- 回答日時:
break;
で、ループを抜けれるので、
while() {
処理();
処理();
if() {
/* 特定の条件に当てはまったときにこのループを抜ける */
break;
}
}
みたいな感じで作られたらいかがなものでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 南京錠 2 2023/02/04 11:46
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Java Java モンスターブリーダー 1 2023/02/05 09:44
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Microsoft ASP プログラミング関係で質問です。 3 2022/10/11 16:06
- Excel(エクセル) エクセルの当番表を作っていますが教えてください 4 2023/01/06 12:12
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】NEW演歌
【大喜利】 若い人に向けたことは分かるけど、それはちょっと寄せ過ぎて変になってないか?と思った演歌の歌詞
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
ループを途中で抜けたいのですが。
C言語・C++・C#
-
キーボード入力によるループの終了
C言語・C++・C#
-
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
-
4
fgetsなどのときのstdinのバッファを消すには?
C言語・C++・C#
-
5
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
6
3のつく数字と3の倍数のみを表示するプログラム
C言語・C++・C#
-
7
C言語の勉強しています。すみませんが、助けてください。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フラッシュ暗算
-
UWSCにてある一定の動作を無限...
-
do-while文が禁止される理由
-
C言語 数字を削除する関数
-
入力した数値を倍々するプログラム
-
入力した文字列から母音だけを...
-
Excel VBAで年度をまたぐ期間の...
-
for文while文の無限ループの違...
-
C言語のプログラムみてください...
-
プログラミングC#初心者
-
猫でもわかる、がわかりません。
-
プログラムで関数は使わない方...
-
「指定されたキャストは有効で...
-
信頼区間の1.96や1.65ってどこ...
-
プログラムでの数字につく”f”の...
-
Enterキーを押されたら次の処理...
-
C言語での引数の省略方法
-
マイナスからプラスへ転じた時...
-
intとlongは同じ?
-
20'(角度)の計算がわかりま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループを途中で抜けたいのですが。
-
入力した文字列から母音だけを...
-
do-while文が禁止される理由
-
break文でループを一気に抜ける...
-
Excel VBAで年度をまたぐ期間の...
-
エクセルVBAで Do While (1)って?
-
入力した数値を倍々するプログラム
-
For文の終了値を関数にしても問...
-
UWSCにてある一定の動作を無限...
-
C言語forループが完結した場合...
-
n重のfor文にするには?
-
for文while文の無限ループの違...
-
Delphiで・・・
-
Cプログラムが終了しない
-
strstr()関数の実装内容について。
-
PAD図の書き方
-
__asm int 3でのブレイクポイン...
-
PIC のプログラムについて ど...
-
放電現象の2分法C言語プログラ...
-
線形探索(番兵法)のプログラ...
おすすめ情報