• 締切済み
  • 困ってます

コンソールアプリの入出力

コンソールアプリのコンパイラをコマンドライン上で実行しているんですが、コンパイルエラーが長いと最初の方のエラーが見えないので、統合開発環境のソフトのような物を作りかけているところなんですが、たとえば DIR A: というコマンドを送り、結果を受け取るだけの簡単なソフトだとしてもAllocConsole()という関数を使わずにやるのは難し過ぎるでしょうか? 参考になるソースを公開している統合開発環境のソフトはありませんか?

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数372
  • ありがとう数1

みんなの回答

  • 回答No.5
  • ttyp03
  • ベストアンサー率28% (277/960)

イマイチ趣旨がわかりませんが、コマンドラインの結果を受け取るのであれば、popen じゃダメなんですか?

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • PIC用のCコンパーラーの組み込み

    現在、PICマイコン用Cコンパイラー(デバッカー付き)をインストールしました。しかしながら、ふつうに使用すると、プロンプト画面からいちいちコマンド入力しなければいけないため、統合開発環境であるマイクロチップ社のMPLAB-IDEにCコンパイラ(デバッカ付き)を組み込もう としているのですが、説明書にそれらしいものが見あたりません。誰か、組み込み方を知っている人、教えて下さい。ちなみに、PICのCコンパイラは、(有)データダイナミクスの、PIC Cコンパイラ バージョン3、です

  • コンパイルとメモリ容量について。

    宜しくお願いします。DOSの統合開発環境でプログラムしてますが、メモリが不足している為かコンパイルや編集が出来なくなります。プロの方達でもマイクロソフトのPWB等でやられた方はどのように問題を解決されたのでしょうか?大きいソースはコマンドラインからしか開発出来ないのでしょうか?マニュアル等も読んでみましたが解決の糸口が見えませんでした。VisualBaasicとかに乗り換えるしか無いでしょうか? 宜しくお願いします。

  • サンダーバード

    Visual Studio 2005 Standard Edition と VC++6.0 を使っています。  メーラーのサンダーバードの ソースコードを 上記のコンパイラの 統合開発環境で扱えるよう にするにはどうしたらよいでしょうか? よろしくお願いします。

  • 回答No.4
  • terra5
  • ベストアンサー率34% (574/1662)

統合開発環境ではありませんが、emacs系のエディタは エディタのバッファ上でシェル(コマンドプロンプト)を実行でき、結果もエディタのバッファへのインサートになります。 Windowsだと,Mule for Win32,Meadow,xyzzyのソースが参考になると思います。 Windowsでの実現方法は、おそらくパイプを使ってSetStdHandleで実行するコマンドの標準出力を読み取る形だろうと推測します。 多分プロセスを新規に作成し標準出力をパイプにリダイレクト(SetStdhandle)し、CreateProcessでハンドルを継承したプロセスとして目的となるコマンドを実行し、 パイプから読み取るという形になるんじゃないかと。 unix系ならpipe作ってforkしてclose,dupしてexecって感じですが。(こっちなら経験有り) リダイレクトはshellがやってますから、unix系ならshellのソースが参考になるんでしょうが、Windowsだとコマンドプロンプトのソースは簡単には入手できませんから、似たことをしているソフトのソースが参考になると思いますが・・・今のところ、emacs系エディタしか思いつきません。 >できるだけ規模の小さいもののソースが良いです。 統合開発ソフトを要求していて小さいソースというのはちょっと無理な要求じゃないですか? 該当部分はたいしたサイズじゃないように思いますから、まずは見てみるのがいいと思いますが。

共感・感謝の気持ちを伝えよう!

  • 回答No.3
  • tatsu99
  • ベストアンサー率52% (391/751)

>参考になるソースを公開している統合開発環境のソフトはありませんか? 統合開発環境wide studioがソースを公開しています。 参考URLを参照してください。

参考URL:
http://www.widestudio.org/

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございます。 まだ見ていませんが、できるだけ規模の小さいもののソースが良いです。 バックグランドでコンソールと通信する部分が分かれば十分です。

  • 回答No.2

質問には書いてありませんが、これはWin32を前提としているのですよね。 それであれば、SetStdHandleで標準入出力先を切り替えることが可能です。

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • 50100
  • ベストアンサー率28% (99/351)

趣旨が違っているかもしれませんが... コンソールに出力される文字数が多すぎて画面が流れてしまうのであれば、出力をリダイレクトしてファイルに保管しておき、エディタ等で開けば良いのでは? 例えば C:\>DIR A: >dir.txt 2>&1 最後の2>&1は標準エラー出力を標準出力へリダイレクトするという指示です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 リダイレクトでエラーは見れましたが、ソフトの作成も進めたいです。

関連するQ&A

  • C++を始めたばかりでVC++2008の扱い方がよくわかりません。

    C++を始めたばかりでVC++2008の扱い方がよくわかりません。 はじめまして。今までC言語をひたすらやってきたものですが、 そろそろ就職のためにC++を始めようと考えています。 そして、VC++2008EXPRESSをインストールすることに成功しました。 みなさんよくこのソフトが使いやすいとおっしゃるのですが、 使い方を具体的に書いてあるサイトや本などご存知でしょうか? たとえば、ソースファイルフォルダにtextを追加する方法とか、 ソースファイルのオブジェクト志向的な書き方などです。 やはり最初は、コンソールアプリから始めようとしていますが、 VCで始めたほうが効率がよいでしょうか? どうしてもこの統合開発環境を使いこなしたいと考えております。 可能な範囲で構いませんので、アドバイスいただけたら幸いです。

  • C/C++における最もシェアの高い開発環境について

    こんにちは。 題記の件についてご質問させていただきます。 現在、C言語や開発環境の使い方について勉強をしたいと考えておりますが、 統合開発環境を何にしようか迷っています。 最もシェアの高いと思われる統合開発環境を 教えていただけますでしょうか。 今のところ、VisualstudioかEclipsを考えています。

  • AKI-H83048で割り込みを使用してLEDを点滅させたいのですが、、、、

    はじめまして、組み込みソフト超初心者です。 割り込みタイマを使用してLEDを特定時間点滅させる、ということを行いたいのですが、コンパイルができず、頓挫しております。どなたか、アドバイス頂けませんでしょうか。 ・開発環境はAKI-H8 3048 ・割り込みを使用してLEDを点滅させるということを目的にCでソースをコーディングしています。 ・巷の参考書など参考にしてmain、割込関数、コーディングしました。 ・コンパイラはAKI-H8マイコンキットについてきた専用CコンパイラCC38Hを使用しています。(統合開発環境はありません) 上記の条件でコンパイルすると、interruptがイリーガルとエラーが出ます エラーの出ているコードは #pragma interrupt itu0_int(vect=24) の部分です。 参考書で、interruptはコンパイラによって使用できないようなことも読んだのですが、どうすればコンパイルできるのでしょうか、また、何が足りないのでしょうか なにぶん初心者なもので、正直質問の的が絞れていないのかも解らないのですが、とにかくまず動かしたいと思い質問させて頂きました。 同じ開発環境の方が居られましたら有難いです。 何とぞよろしくお願い致します。

  • コンソールアプリ内でDosコマンドを使用したい

    kirishima8と申します。 よろしくお願いします。 開発環境 WindowsVista business 32bit Visual Studio 2005 VC++ Win32アプリでコンソールアプリで、Dosのコマンドラインを利用したいのです。 新たにbatファイル等を作成・実行するのではなく、ずっと同一のコンソールウィンドウを利用し、かつ、Dosコマンドをプログラム側から利用できたらと考えています。 コマンドプロンプトのような機能を、自分で作ったアプリに実装させたいというのが最終的な目標となります。 MSDNで調べてみたところ、WriteConsoleInput()や関連APIが見つかりました。 しかしながら、パラメータの説明が何を指すのかという点が、現時点で私には解り辛いです。 何らかの情報をお持ちの方、ご教授ください。 未熟者ですので、上記では内容が伝わらないかもしれません。 何か不明な点がございましたら、お尋ねになってください。 よろしくお願いします。

  • Emacsは時代遅れ?

    先日、プログラミングをしようと思ってEmacsを立ち上げたところ、 「Emacsって・・・。お前いつの人間だよ」的な事を言われ、 カチンときた反面、現在は統合開発環境が流行りで、一理あるのかなと思いました。 Emacsは時代遅れですか? Emacsから他のエディタや統合開発環境に乗り換えて良かった、悪かった、等の 体験談があれば教えて欲しいです。 ちなみに私のプログラミングは完全なホビーです。

  • なぜIBMはEclipseを無償公開したのでしょうか

    こんにちは。 現在IDE(統合開発環境)としてかかすことができないほどメジャーとなったEclipseですが、なぜIBMはEclipseの技術を無償公開したのでしょうか? WebSphere、WSADをもっと普及させるための戦略と考えてよろしいのでしょうか?

  • 必要な物

    これからC言語の勉強を始めて、98/95上などで動作するWindowsアプリケーションを作る事を目標に構えているんですが、統合開発環境(VC++等)は値段が高くて無理なので、Borland C++コンパイラとBCC Developerを併用して 何らかの形のをなんとかして作れればと思うんですけど やはりこれだけでは不充分なのでしょうか? 他にあると便利な物や必要な物などを教えて頂けると助かります。

  • llc system("dir").c

    llcのDOSコンパイラでsystem("dir");というソースを 含めると、その部分で実行時に 正しいコマンド インタープリタの名前を入力してください. (例 : C:\COMMAND.COM) >> というメッセージが表示されます。 #include <iostream.h> int main() { system("dir"); return 0; } このソースをDOSコンパイラ用に書き換えたいのです。 #include <stdio.h> int main() { system("dir"); return 0; } このようにするとllcでコンパイルできますが、おそらく #include <stdio.h>しか使っていないためにsystem関数がうまく 動作しないようです。 どうしたらシステム関数のようなことができますか?

  • C言語のオススメ統合開発環境(IDE)について

    C言語のオススメ統合開発環境(IDE)について教えてください。 先日より組み込み系の改修案件の開発をC言語で行うことになりました。 今まで、JAVA、C#でのオープン系開発を5年程度やっているのですが、 C言語、組み込み系は共に初めての体験になります。 既に動作しているシステムのため、相当量のソースがあり、 一緒に作業している方達はテキストエディタ(秀丸やサクラ等)を 使用して開発をしているのですが、 私自身がC言語になれていないこと、スケジュールがタイトな事もあり、 ソースを追うのにも時間がかかってしまっている状況なため 扱いやすい統合開発環境があればそちらを利用したいと考えております。 基本的にはコンパイルやデバッグを行いたいわけでなく、 「便利なエディタ」という概念での利用がしたいだけです。 フリーソフトでさえあれば問題ありません。 また、Eclipse、VisualStudioは今までの業務で使用経験があります。 「周りと合わせて秀丸使え!」という意見もあるかと思いますが、 限られた時間で作業効率をあげたいと思っておりますので、どうぞ宜しくお願いいたします。

  • 初心者におすすめのC言語開発環境を教えてください

    WINDOWS XP HOME SP2です なるべく無料のでやりたいです あと初心者に統合開発環境はよくないと聞いたんですが実際どうなんでしょうか?