質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.80%

vscodeでのc言語プログラム実行における、txtファイルの読み込ませ方がわかりません

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,970

naberyo

score 10

`/**********************/ /* オイラーの一筆書き    */ /* euler.c       */ /**********************/

include <stdio.h>

include <stdlib.h>

define NMAX    100 //点の数の上限

define EDGEMAX 100 //線の数の上限

      int adjacent [NMAX + 1][NMAX + 1]; //隣接行列       int position [EDGEMAX + 1] ; //線の数       int n, n_edge, edge, solution;//点、線の数、線、解の番号

      void readgraph(void)    //データ入力 {       int i, j;

      if (scanf("%d%*[^\n]", &n) != 1 || n > NMAX)  //点の数       { n = 0; return;        }       for (i = 1; i <= n; i++)          for (j = 1; j <= n ; j++) adjacent[i][j]= 0;      while (scanf("%d%d%*[^\n]" ,&i, &j) == 2) {          n_edge++;           //線の数          adjacent[i][j]++;          adjacent[j][i]++;      }      printf("rinnsetu gyouretsu:\n");      for (i = 1 ; i <= n; i++) {          for(j=1; j <= n; j++) printf("%d",adjacent[i][j]);      printf("\n");      }  } void visit(int i) {     int j;     position[edge] = i;     if (edge == n_edge) {         printf("kai %d:", ++solution);         for (i = 0 ; i <= n_edge; i++) printf(" %d" , position[i]);         printf("\n");     } else {         for ( j = 1; j  <= n; j++) if(adjacent[i][j]) {             adjacent[i][j]--;             adjacent[j][i]--; //有向グラフならこの行は削除             edge++; visit(j); edge--;             adjacent[i][j]++;             adjacent[j][i]++; //有向グラフならこの行は             }     }

} int main() {     readgraph(); //データを読む     solution = edge = 0; visit(1);//点1から出発     if(solution== 0) printf("kai nasi\n");     return EXIT_SUCCESS; }

コード ```当方プログラム初心者でvisual studio codeを用いてc言語の勉強をしております
txtファイルを読ませるプログラムの実行のやり方がわからず困っております。

例えばgraph3.txtというファイルの実行では学習テキストには実行はa.out<graph3.txtで実行とありますが
vscodeでは
PS C:\c program> gcc euler.c
PS C:\c program> .\a.exe<graph3.txtと実行すると
.\a.exe<graph3.txt : 用語 '.\a.exe<graph3.txt' は、コマンドレット、関数、スクリプト ファ
イル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されているこ
とを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してくださ
い。
発生場所 行:1 文字:1
+ .\a.exe<graph3.txt
~~~~~~
+ CategoryInfo          : ObjectNotFound: (.\a.exe<graph3.txt:String) [], CommandNot 
FoundException
+ FullyQualifiedErrorId : CommandNotFoundException
というエラーメッセージ
になり

PS C:\c program> gcc euler.c
PS C:\c program> .\a.exe
graph3.txt
という方法では
kai 1: 1
と不自然な表示になります
これは別の存在しないファイル名にしても同様となりました

また
PS C:\c program> gcc euler.c
PS C:\c program> .\a.exe < graph.cと実行すると
発生場所 行:1 文字:9
+ .\a.exe < graph.c
+         ~
演算子 '<' は、今後の使用のために予約されています。
+ CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : RedirectionNotSupported

ネットで調べたのですが具体的な方法が分からず
正しいファイルの読み込み方法を教えて頂けたら幸いです。

ソースコードを載せさせて頂きました、よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • jimbe

    2019/05/06 13:14

    euler.c のコードを載せて頂けますか.

    キャンセル

  • y_waiwai

    2019/05/06 13:22

    ソースコードを提示しましょう
    質門を編集し、<code>ボタンで、出てくる’’’の枠の中にコードを貼り付けてください

    キャンセル

回答 2

checkベストアンサー

+1

PowerShell は入力のリダイレクトには今のところ対応していません。
パイプラインを使って

Get-Content graph3.txt | .\a.exe


などとすればいいです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/06 14:05

    ありがとうございます!
    実行できました!

    もし良かったらなのですが、結果が多すぎてターミナルにすべて結果が表示できないことがあるのですが全て表示する方法などがありましたら教えて頂けないでしょうか?

    キャンセル

  • 2019/05/06 14:31 編集

    コンソールをスクロールすれば、最初からの出力結果を確認出来ると思いますが。
    ほかには、
    プログラム | more
    で一画面ずつ止めて確認するとか、
    プログラム > file
    でテキストファイルにリダイレクトして、エディターで読むとかすればいいかと思います。

    キャンセル

  • 2019/05/06 14:43

    ありがとうございます
    ターミナルの行の保持設定の変更で確認できました!

    また何かありましたら、お教えいただきたいです。

    キャンセル

0

a.out < graph3.txt


じゃないですか?ちゃんとスペース入れましょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/06 13:53

    vscodeで
    PS C:\c program> gcc euler.c
    PS C:\c program> a.out
    a.out : 用語 'a.out' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記
    述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
    発生場所 行:1 文字:1
    + a.out
    + ~~~~~
    + CategoryInfo : ObjectNotFound: (a.out:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    PS C:\c program> gcc euler.c
    PS C:\c program> a.out < graph.txt
    発生場所 行:1 文字:7
    + a.out < graph.txt
    + ~
    演算子 '<' は、今後の使用のために予約されています。
    + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : RedirectionNotSupported
    となり上手くいきませんでした

    キャンセル

  • 2019/05/06 14:02

    あ、PowerShellかこれ・・・失礼しました。コマンドプロンプトだと上記でいけます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.80%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • Cに関する質問
  • vscodeでのc言語プログラム実行における、txtファイルの読み込ませ方がわかりません