ページ 11

リダイレクト

Posted: 2009年5月15日(金) 13:47
by 研修生
を使いたいのですが使い方が調べてもわかりません。
#include <stdio.h>

enum { NON_BLANK, BLANK, BLANKS };

int main(void)
{
    int c, mode = NON_BLANK;

    while ((c = getchar()) != EOF) {
        if (c != ' ') {
            switch (mode) {
            case BLANK: case BLANKS:
                putchar(' ');
                /* fall thru */
            case NON_BLANK:
                putchar(c);
                mode = NON_BLANK;
                break;
            }
        }
        else {
            switch (mode) {
            case NON_BLANK:
                mode = BLANK;
                break;
            case BLANK: case BLANKS:
                mode = BLANKS;
                break;
            }
        }
    }
 return 0;
}
例えばこのプログラムの入力をファイルから読み込むとするとどのようにプログラムを改善すれば
いいのでしょうか? 

Re:リダイレクト

Posted: 2009年5月15日(金) 13:49
by 研修生
開発環境はvisualC++6.0です

Re:リダイレクト

Posted: 2009年5月15日(金) 14:23
by toyo
プログラムの変更は必要ないのでは
実行時に
C:\~> hoge.exe < file.txt
のように < でリダイレクトします

Re:リダイレクト

Posted: 2009年5月15日(金) 14:30
by 研修生
色んなサイトにもそうかいてありましたが
F7(ビルド)押してF5+Ctrl(実行)押すだけでして・・
超絶ど素人なもので・・お手数ですが教えて下さい。

Re:リダイレクト

Posted: 2009年5月15日(金) 14:40
by toyo
コマンドプロンプトというもので実行しないとだめなんですよ
OSはWindowsXPですかね
左下にある「スタート」の「ファイル名を指定して実行」に
cmd
と入力してOKするとコマンドプロンプトという黒い画面のウィンドウが開きます
CDコマンドで実行ファイルのある場所に移動するんですがちょっと面倒なので画面に表示されている
C:\~>
の~に該当するフォルダに実行ファイルをコピーしたほうが早いですかね

Re:リダイレクト

Posted: 2009年5月15日(金) 15:13
by 研修生
C:\~>cd (実行ファイルがあるフォルダ)

C:(そのフォルダ)> ○○○.exe < test .txt

コンパイル

でいいのでしょうか?
ところでVC++のコンパイルってclじゃなかっけ・・
clは内部コマンド、または外部コマンドとして認識されないとかでまくる・・

Re:リダイレクト

Posted: 2009年5月15日(金) 15:30
by 研修生
やっとなぞがとけました。toyoさんありがとうございました。