掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.28817

Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/12 17:19:37)


BCCなどのコマンドラインからリダイレクトする方法は判っているんですが、
Microsoft Visual C++ .NET 55577-640-4383485-18159でリダイレクトする方法が分かりません。
どうかご助言お願いいたします。


この投稿にコメントする

削除パスワード

No.28833

Re:Visual C++ .NETでリダイレクトするには?
投稿者---かずま(2006/11/13 10:43:48)


> BCCなどのコマンドラインからリダイレクトする方法は判っているんですが、
> Microsoft Visual C++ .NET 55577-640-4383485-18159でリダイレクトする
> 方法が分かりません。

Visual C++ の使い方というのはいくつもあって、コマンドラインから cl コ
マンドを使うこともできますし、Visual Studio からメニューやツールバーや
ファンクションキーでビルドや実行を行うこともできます。
そこをちゃんと書いて質問しないと回答は得にくいでしょう。

後者の場合、プロジェクトのプロパティを開いて、構成プロパティのデバッグで、
コマンド引数のところに、「< file名」と書けばよいのではありせんか?


この投稿にコメントする

削除パスワード

No.28862

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/14 16:05:54)


>Visual Studio からメニューやツールバーや
>ファンクションキーでビルドや実行を行うこともできます。
>そこをちゃんと書いて質問しないと回答は得にくいでしょう。
>
>後者の場合、プロジェクトのプロパティを開いて、構成プロパティのデバッグで、
>コマンド引数のところに、「< file名」と書けばよいのではありせんか?
まさに後者の場合なのですが、コマンド引数がリダイレクト以外ならうまくいくんですが、リダイレクトだと実行が止まってしまいます。
説明が足りなくて申し訳ありませんでした。リダイレクトをDOS以外でGUIで出来る方法を教えてください。



この投稿にコメントする

削除パスワード

No.28863

Re:Visual C++ .NETでリダイレクトするには?
投稿者---nop(2006/11/14 17:02:57)


>コマンド引数がリダイレクト以外ならうまくいくんですが、リダイレクトだと実行が止まってしまいます。

それは、実行しているプログラムに問題があるのでは?


この投稿にコメントする

削除パスワード

No.28866

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/14 17:54:21)


>それは、実行しているプログラムに問題があるのでは?
申し上げたように、DOSのコマンドライン引数からリダイレクトするとうまくいくんだから、
プログラムの問題ではないと思います。


この投稿にコメントする

削除パスワード

No.28867

Re:Visual C++ .NETでリダイレクトするには?
投稿者---nop(2006/11/14 18:18:44)


> 申し上げたように、DOSのコマンドライン引数からリダイレクトするとうまくいくんだから、

あなたの発言を見直してみましたが、

> DOSのコマンドライン引数からリダイレクトするとうまくいく

と言った類の言葉は見つかりませんでした。


> コマンド引数がリダイレクト以外ならうまくいく

と言う発言ならありましたが...


そもそも、プログラムのソースも、
リダイレクトに指定したファイルの内容もなく、
それどころか、何をどう操作してどうなったのか、
すら書かれていない質問に、誰が答えられるのでしょうか?


この投稿にコメントする

削除パスワード

No.28870

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/14 19:28:55)


>と言った類の言葉は見つかりませんでした。
>
>
>> コマンド引数がリダイレクト以外ならうまくいく
>
>と言う発言ならありましたが...
国語の読解力の問題ですよ。言ってることは同じじゃないですか。


この投稿にコメントする

削除パスワード

No.28881

Re:Visual C++ .NETでリダイレクトするには?
投稿者---nop(2006/11/15 09:15:15)


>国語の読解力の問題ですよ。言ってることは同じじゃないですか。

以下の二つの言葉が、同じ意味だと思っているのでしたら、
もう一度、国語の勉強をし直した方が良いかと思われます。

> DOSのコマンドライン引数からリダイレクトするとうまくいく

> コマンド引数がリダイレクト以外ならうまくいく



この投稿にコメントする

削除パスワード

No.28871

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/14 19:44:22)


>そもそも、プログラムのソースも、
>リダイレクトに指定したファイルの内容もなく、
>それどころか、何をどう操作してどうなったのか、
>すら書かれていない質問に、誰が答えられるのでしょうか?
怒らないでください。殆ど書きましたが・・・判らないですか・・・残念です
基本的なリダイレクトだけを知りたいのに、プログラムのソースも必要ないと感じましたが・・・
#include<stdio.h>
#include<stdlib.h>
int main(void){
int c;
while((c=getchar())!=EOF){
putchar(c);
}
return EXIT_SUCCESS;
}

上記をtest.cとし、test.exe <test.cとするとDOSならBCCやGCCなど多くの
コンパイラでうまくいくのに、*Visual C++ .NETでだけ止まってしまいます*(*=申し上げたように)。


この投稿にコメントする

削除パスワード

No.28874

Re:Visual C++ .NETでリダイレクトするには?
投稿者---ぽへぇ(2006/11/14 21:03:44)


>リダイレクトだと実行が止まってしまいます。
その止まるという状況を説明してください。
ステップ実行させたときに putchar(c); にすら進まないのでしょうか?
return EXIT_SUCCESS;にブレークポイントを置くのは試してみましたか?

私の環境(Visual C++ .NET 2005)では No.28833に倣い、
構成プロパティのデバッグで、コマンド引数のところに、
< test.c と書いて意図どおりに実行できました。




この投稿にコメントする

削除パスワード

No.28878

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/15 08:42:42)


><pre>>リダイレクトだと実行が止まってしまいます。
>その止まるという状況を説明してください。
>ステップ実行させたときに putchar(c); にすら進まないのでしょうか?
>return EXIT_SUCCESS;にブレークポイントを置くのは試してみましたか?
大変すみませんでした。初心者で独自学習なので上記は分からないです。
>私の環境(Visual C++ .NET 2005)では No.28833に倣い、
>構成プロパティのデバッグで、コマンド引数のところに、
>< test.c と書いて意図どおりに実行できました。
No.28833に倣いコマンド引数のところに、< test.cと書くと、

DOSの画面が上記のように何もない真っ黒な画面が表示され、abc+リターンキーを押すと、次の行にabcと表示される。つまり標準入力のままでリダイレクトされていないんです.もちろん適用ボタンも押してOKボタンも押しました。
</pre>



この投稿にコメントする

削除パスワード

No.28883

Re:Visual C++ .NETでリダイレクトするには?
投稿者---かずま(2006/11/15 11:36:13)


> No.28833に倣いコマンド引数のところに、< test.cと書くと、
>
> DOSの画面が上記のように何もない真っ黒な画面が表示され、abc+リターン
> キーを押すと、次の行にabcと表示される。つまり標準入力のままでリダイレク
> トされていないんです.もちろん適用ボタンも押してOKボタンも押しました。

[コマンド引数] は、ひとつのプロパティに 2つあります。
プロジェクトのプロパティのダイアログの左上の [構成(C):] が
Release の場合と、Debug の場合です。アクティブ(Debug) は Debug と
同じようです。
実際に実行するものと違うほうにだけ書いてもその設定は反映されません。

何をどう操作したのか、その手順を最初から詳細に報告することによって
解決が早まる可能性があります。他の人からもそう言われているのに
なぜそれをしないのでしょうか?

GUI (VCExpress.exe ではなく devenv.exe かな) をどうやって起動したかも
教えてください。
デスクトップ上のアイコンをクリックしたのか。
.sln ファイルをクリックしたのか。
.vsproj ファイルをクリックしたのか。
Visual C++ .Net (2003) は、Visual C++ 2500 と違って、GUI (Visual Studio)
自身のカレントディレクトリが異なるようなので、リダイレクトしたいファイル
をフルパス名で指定しないといけない場合もあります。


この投稿にコメントする

削除パスワード

No.28884

Re:Visual C++ .NETでリダイレクトするには?
投稿者---かずま(2006/11/15 12:45:43)


> .vsproj ファイルをクリックしたのか。
> Visual C++ .Net (2003) は、Visual C++ 2500 と違って、GUI (Visual Studio)

訂正
.vsproj --> .vcproj
Visual C++ 2500 --> Visual C++ 2005

なお、GUI (Graphical User Interface) は
IDE(Integrated Development Environment) と言い換えることもできます。


この投稿にコメントする

削除パスワード

No.28885

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/15 13:44:13)


ごめんなさい、あまり専門的なことは判らないです。
皆さんの知識の多さに、自分の知識不足に愕然としています。
初心者にも簡単にお教えください。ごめんなさい
"デバッグなしで実行"しか知らなかったもので、ただの"実行"すると、最後に止まらないのでやってなかったんですが、ただの"実行"したら、一瞬正しく動作しているのが見えました。
最後に止める方法ってないですかね?
簡単にできないっぽいですね。


この投稿にコメントする

削除パスワード

No.28887

Re:Visual C++ .NETでリダイレクトするには?
投稿者---RiSK(2006/11/15 15:12:07)


>あまり専門的なことは判らないです。
>皆さんの知識の多さに、自分の知識不足に愕然としています。

分からないこと,知識不足なことは問題ではありません。
気にする必要はないですよ。

何が分からないか分からない,
何の知識が不足しているか分からないことが問題です。
1つずつ,少しずつ進めてください。

>最後に止める方法ってないですかね?

IDEのエディタ上でF9を押してブレークポイントを設定した上で,
デバッグ開始(F5)

あるいは,system("pause"); を使う。
#include<stdio.h>
#include<stdlib.h>
int main(void){
    int c;
    while((c=getchar())!=EOF){
        putchar(c);
    }
    system("pause");
    return EXIT_SUCCESS;
}



この投稿にコメントする

削除パスワード

No.28892

Re:Visual C++ .NETでリダイレクトするには?
投稿者---かずま(2006/11/15 15:50:41)


> ごめんなさい、あまり専門的なことは判らないです。
> 皆さんの知識の多さに、自分の知識不足に愕然としています。
> 初心者にも簡単にお教えください。ごめんなさい

質問するのだから、専門的なことは分からなくてかまいません。
私が不思議に思うのは、専門的なことではなくて、常識的なことです。

説明不足でもかまいません。
それは回答者からの問いかけに答えることで解決します。

回答者から問いかけを無視していることが問題なのです。

私は最初の回答で、プロジェクトのプロパティの [コマンド引数] を紹介しま
した。

普通なら、そこに設定文字列を書いてみて、結果がどうなったかを報告する
ものです。

それなのに、あなたはそれをせず、「リダイレクトをDOS以外でGUIで出来る
方法を教えてください。」とまた同じ質問を繰り返しています。

他の人が、私の示した方法で問題なく動くことを報告してから、やっと
[コマンド引数] に「< test.c」と書いて、「止まる」が「DOS画面の表示」で
あることを書いてきました。

次に、私が [コマンド引数] は 2つあると書いているのに、それを確認したと
いう報告はありません。

Visual Studio の起動方法を尋ねているのに無視ですか?


> "デバッグなしで実行"しか知らなかったもので、ただの"実行"すると、
> 最後に止まらないのでやってなかったんですが、ただの"実行"したら、
> 一瞬正しく動作しているのが見えました。

だから、知らないことは問題ではないのです。
どのメニューのどの項目をクリックしたのか、どのファンクションキーを
押したのか、などの手順を詳細に書いてもらいたかったのです。
あなたがやったことだから、専門知識も何も要りません。やったことを
全部書くだけです。そうすると、回答者はどこが間違っているのかを
指摘することができます。最後の「とまります」だけでは分かりません。


> 最後に止める方法ってないですかね?
> 簡単にできないっぽいですね。

return EXIT_SUCCESS; の行の左のグレーのところをクリックすると
茶色のブレークポイントがつくので、デバッグ実行で止まります。
コマンドプロンプトの画面が残っているはずです。


この投稿にコメントする

削除パスワード

No.28894

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/15 16:18:14)


みなさんの本当に親切な説明で全て解決できました。
ブレークポイントで止めるのと、system()で止めるのと
判りやすく、大変感謝しております。本当にありがとうございました。


この投稿にコメントする

削除パスワード

No.28899

Re:Visual C++ .NETでリダイレクトするには?
投稿者---かずま(2006/11/15 17:05:16)


> みなさんの本当に親切な説明で全て解決できました。

本当ですか?
それなら、「DOSの画面が上記のように何もない真っ黒な画面が表示され」と
いう現象がなぜ起こったのかを説明してください。


この投稿にコメントする

削除パスワード

No.28902

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/15 17:59:51)


>それなら、「DOSの画面が上記のように何もない真っ黒な画面が表示され」と
>いう現象がなぜ起こったのかを説明してください。
No.28833に倣いコマンド引数のところに、< test.cと書くと、

DOSの画面が上記のように何もない真っ黒な画面が表示され、abc+リターンキーを押すと、次の行にabcと表示される。つまりコマンド引数がリダイレクトの場合、"デバッグなしで開始"だと標準入力のままでリダイレクトされていないんです.ただの"開始"だとリダイレクトされるんです。
コマンド引数がリダイレクトではない場合、、"デバッグなしで開始"と"開始"両方とも正常に引数が渡されるんです。


この投稿にコメントする

削除パスワード

No.28904

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/15 18:10:37)


本当に助かりました。ありがとうございました


この投稿にコメントする

削除パスワード

No.28875

Re:Visual C++ .NETでリダイレクトするには?
投稿者---RiSK(2006/11/14 22:31:26)


>殆ど書きましたが・・・判らないですか・・・残念です

「止まってしまう」がまだ説明されていません。

 何をこうしたら何が止まってしまった。
 〜であることから何が止まったと判断した

あなたの説明では残念ながら分かりません。

私もVisual C++ 2005 Expressにて
かずまさんの紹介した手順でぽへぇさんと同様うまくできました。

>基本的なリダイレクトだけを知りたいのに、プログラムのソースも必要ないと感じましたが・・・

あなたが行った手順を知りたいです。


この投稿にコメントする

削除パスワード

No.28879

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/15 08:47:38)


私の質問に答えてくれたみなさん。未熟で
説明不足で大変すいませんでした。

上記のようにDOSが真っ黒な画面で静止していたため、
止まったと勘違いしていました。詳しくは同じ階層の私の文章を読んでください


この投稿にコメントする

削除パスワード

No.28873

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/14 19:47:54)


#include<stdio.h>
#include<stdlib.h>
int main(void){
    int c;
    while((c=getchar())!=EOF){
        putchar(c);
    }
    return EXIT_SUCCESS;
}



この投稿にコメントする

削除パスワード

No.28905

Re:Visual C++ .NETでリダイレクトするには?
投稿者---paradhinn(2006/11/15 18:41:32)


>後者の場合、プロジェクトのプロパティを開いて、構成プロパティのデバッグで、
>コマンド引数のところに、「< file名」と書けばよいのではありせんか?
本当に説明不足で申し訳ありません
それは以前に試して、普通の引数のときはOKというのが判ってたんですが、リダイレクトでデバッグなしで開始だと失敗するので、
VISUAL C++に無数に色々なページがあるので、自分が気づいていない違うページ(リダイレクトのための)が存在しているのではないかと、思い込んでいました。
自分の想像で突っ走るタイプなので、ごめんなさい。


この投稿にコメントする

削除パスワード

No.28886

Re:Visual C++ .NETでリダイレクトするには?
投稿者---kafuka(2006/11/15 14:20:16)


皆さん混乱しているようなので、一度整理してみてはどうか?
(外しているようなら以下は無視してね。)

・やりたいこと
実行ファイル(xxx.exe)をダブルクリックしてアプリ実行。
その際、アプリに引数を渡したい。(できるのか?)


・現状の動作
実行ファイル(xxx.exe)をダブルクリックすると、
コマンドプロンプト画面が表示され、そのままの状態で止まる。

⇒引数が渡されていないため、入力待ち状態になっていると思われる。
試しに「aaaaa[改行]」と入力すると、「aaaaa」と表示されませんか?


・現在のソース。
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    int c;  
    while ((c = getchar()) != EOF) {
        putchar(c);
    }

    return EXIT_SUCCESS;
}

・解決策
私には分かりません。(ダブルクリック実行で引数渡すって本当にできんの?)


・対策案
コマンドプロンプトから実行。
リダイレクトに頼らない。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧