お世話になっております。(前回のJAVAの質問では返答が

できず申し訳ありませんでした)C・C++言語に関して質問が
あります。

例えばmain関数の中に「printf(”Hello World!/n”);」
「printf(”世界よ、こんにちは!/n”);」
等のメッセージを続けていれて実行すると、
____________________

Hello World!
世界よこんにちは!
____________________
と1つのコマンドプロンプトで表示されます。

これを、
printf(”Hello World!/n”);
//なんらかの関数を挿入!
printf(”世界よこんにちは!/n”);
として、

____________________ ____________________

Hello World! 世界よこんにちは!

____________________ ____________________
と2つのコマンドプロンプトで表示されるようにする
プログラムを作りたいと思い、いろいろ試しておりますが
うまくいきません。ご存知の方おりましたら、ご教授
下さいますよう、お願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/12/04 23:47:59
  • 終了:--

回答(2件)

id:nitscape No.1

nitscape回答回数526ベストアンサー獲得回数02005/12/05 00:32:15

ポイント60pt

1つのプログラムで、2つのコマンドプロンプトのウインドウを表示して、それぞれ異なる文字列を表示したい。


ということですよね?

これはC言語の命令のみでは無理で、Windowsの命令を使うことになります。


charpszFile[1024];

PROCESS_INFORMATIONpi;

STARTUPINFOsi;


if(argc == 1)

{

GetModuleFileName(NULL,pszFile,1024);

strcat(pszFile,” /second”);


ZeroMemory(&si,sizeof(si));

si.cb = sizeof(STARTUPINFO);

CreateProcess(NULL,pszFile,NULL,NULL,TRUE,CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);


printf(”abc”);

Sleep(3000);

return0;

}


printf(”aaa”);

Sleep(3000);


return 0;


という感じになります。かなり簡単に作っているのでダメな部分が多いですが。。。

Sleep(3000);

は単に3秒間待機する命令で、勝手にコンソールが閉じるのを防いでいます。

id:mimio17

ありがとうございます。

まずは検証させていただきます。

2005/12/05 18:41:18
id:yuki_n No.2

yuki_n回答回数24ベストアンサー獲得回数02005/12/05 14:50:42

ポイント5pt

一人目の回答で解決していると思いますが一応。


printf(”Hello World!/n”);

の/nの部分(改行)を削除すれば良いと思いますが、


リンク先の

『VT-100エスケープシーケンスについて』

の部分に少し別の方法で解決する方法もあります。

カーソル位置をわざと調整したり。。

かなり、面倒ですが。。


☆下記のような注釈がありますので、注意してください。☆

この方法では Me, 98, 95, 3.1, MS-DOS, UNIX, Linux, Tera Term などで利用できます。

Windows XP, 2000 では利用できません。

処理系によっては下線が表示できないなど細かな違いはあるようです。

http://kasai86.ld.infoseek.co.jp/dos/esc.htm

エスケープシーケンス

等、『エスケープシーケンス』で検索すると色々出てきます。


回答内容も被ってるかもしれませんね。。

id:mimio17

ううん、”見た目”の問題ではなく

ある処理を挿入する度に、別のウィンドウにて

続きを表示させたい、ということになります。

2005/12/05 18:47:48

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません